假设有一个基类C#我们可以通过类类型作为参数的功能和存取类变量内部方法
class base
{
int x, y;
}
而3衍生单类A,B,C与X,Y初始化为一些值。
例如:
class A : base { x = 1; y = 0;}
class B : base { x = 0; y = 1;}
class C : base { x = 1; y = 1;}
有没有办法通过类作为参数传递给方法,并访问类的变量值。 SO,一个可以更新所有3个类的值的函数。
意向:
int call (type classtype)
{
int xvalue = classtype.x;
int yvalue = classtype.y;
}
我已经看到了一些帖子activator.CreateInstance(CLASSTYPE)的 How to pass a Class as parameter for a method? [duplicate]
一提,但它并没有回答我们如何可以访问类的变量。
它应该是'INT调用(基地CLASSTYPE)',你会通过实例化对象。 – Legends
*类型*没有这些变量。 *该类型的实例*具有这些变量,因此具有*类型*不会给你任何变量。 – Servy
请显示“类别A,B”的代码 - 非常不清楚您的意思是“类别的变量值”,正如@Servy所说的。如果代码实际上是C#而不是某种伪语言,则可能是指静态类字段/属性*或实例字段/属性。 –