假设我有 2 个类:
第 1 类:
public class Class1
{
public static string Test = "Class1";
}
和第 2 类:
public class Class2
{
public static string Test = "Class2";
}
现在在我的主窗体中,我有一个对象数组:
object[] Objects = new object[2];
Objects[0] = new Class1();
Objects[1] = new Class2();
现在假设我想从 object[0]
获取 Test
字符串
我该如何取回它?
我试过了
Objects[0].GetType().GetProperty("Test"); //Returns a NullReference
最佳答案
首先,您不能调用实例上声明为静态的任何内容。其次,这正是多态性的用途。
public interface IClass
{
string Test { get; }
}
public class Class1 : IClass
{
public string Test
{
get { return "Class1"; }
}
}
public class Class2 : IClass
{
public string Test
{
get { return "Class2"; }
}
}
IClass[] Objects = new IClass[2];
Objects[0] = new Class1();
Objects[1] = new Class2();
那你就可以了。
var str = Objects[0].Test;
关于c# - 从未知类返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35916979/