C#未知类型属性

时间:2013-01-31 13:54:15

标签: c#

我有一个这样的课程:

public class Student
{
     private string NumberP;
     public  string Number
     {
       get{return NumberP;}
       set{NumberP=value;}
     }
}
public class School
{
     private string NameP;
     public  string Name
     {
       get{return NameP;}
       set{NameP=value;}
     }
}

我想从另一个类(学校或学生)声明一个Type,但我不知道它的类型。

如何声明属性未知类型。我将在另一个时间设置未知类型

public class MyClass
{
    public UnKnownType
    {

    }
}

2 个答案:

答案 0 :(得分:1)

由于StudentSchool类型之间没有任何关系,您可以使用object类型:

public class MyClass
{
    public object SomeProperty { get; set; }
}

并使用如下:

MyClass myClass = new MyClass();
myClass.SomeProperty = new Student();

或制作包含类generic

public class MyClass<T>
{
    public T SomeProperty { get; set; }
}

然后你就可以这样使用:

MyClass<Student> myClass = new MyClass<Student>();
myClass.SomeProperty = new Student();

答案 1 :(得分:1)

public class MyClass
{
    private object myField = null;

    public object MyProperty
    {
        get { /* ... */ }
        set { /* ... */ }
    }
}