Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How can one class set a property to be seen by another c
Message
From
27/02/2013 09:21:35
 
 
General information
Forum:
ASP.NET
Category:
Coding, syntax and commands
Environment versions
Environment:
C# 4.0
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01566989
Message ID:
01567027
Views:
34
>>>>Hi everybody,
>>>>
>>>>In the base class I defined a public property with simple
>>>>
>>>>Public InvokeString {get;set;}
>>>>
>>>>I have two classes that inherit from that main class. In one of the classes I have a method where I can set this property. My problem is that I want another class to be able to read that new property value.
>>>>
>>>>Is there a way to solve it? Should I use static keyword here for the property only?
>>>
>>>Not sure I understand your requirement but I don't see how 'static' would help. Maybe something like this?:
    public  class ClassA
>>>	{
>>>        protected  virtual string InvokeString { get; set; }
>>>	}
>>>
>>>    public class ClassB : ClassA
>>>    {
>>>        public void SetInvokeString(string s)
>>>        {
>>>            base.InvokeString = s;
>>>        }
>>>        
>>>        public new string InvokeString
>>>        {
>>>            get { return base.InvokeString; }
>>>        }
>>>    }
>>
>>
>>I don't see how static can be of any help either - static is not instance related
>>
>>How about restricting the setter in classB ?
>>
>>But to set it is a bit weird
>>
>>	public static class qqq
>>	{
>>		static void Main()
>>		{
>>			ClassB xx = new ClassB();
>>
>>			((ClassA)xx).InvokeString = "hello";
>>			string pp = xx.InvokeString;
>>
>>			
>>
>>		}
>>}
>>
>>
>>
>>	public class ClassA
>>	{
>>		public virtual string InvokeString { get; set; }
>>	}
>>
>>	public class ClassB : ClassA
>>	{
>>
>>		public new string InvokeString
>>		{
>>			get { return base.InvokeString; }
>>		}
>>	
>>		
>>	}
>>
>((ClassA)xx).InvokeString = "hello"; doesn't work for me ? (If it did it would, of course, defeat the point of the sub-classed InvokeString implementation :-{ )


Strange - it works for me - tested it before posting

And yes, I said it's a bit weird
Gregory
Previous
Reply
Map
View

Click here to load this message in the networking platform