Re: How to access this static variable

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



On Jul 18, 6:21 pm, Hans Kesting <news.2.han...@xxxxxxxxxxxxxxx>
wrote:
Class B { public B() {} }

Class A : B {
public static string ABC = "myABC";
public A() {}
}
main Program:

B myObject = new A();

and now is it possible to access "ABC" through "myObject" without
modifying the source code in Class A and Class B.

Thanks

As it's a static variable (in type A), you can only access it through the
Type A:
A.ABC, not through an instance.

Type B doesn't know anything about things declared in derived types (like A),
so your myObject (which is "just a B") doesn't know anything about that ABC.

*if* B declares a (virtual) method:
public virtual string MyMethod() { return "nil"; }
and A overrides it:
public override string MyMethod() { return A.ABC; }
then your myObject can still access the contents of ABC, using this MyMethod()

Hans Kesting

Hi...

What is the utility of access a variable via a method when you have
direct access to that variable...
but still Hans provided a very good way to access static variable
through a method...

Masudur

.



Relevant Pages