如何创建动态属性

JL.*_*JL. 1 c# oop .net-2.0

我有一个名为TASKS的课程.

我希望类的一个属性足够动态,以处理强类型中的结构更改.例如....

Class MyClass
 {
    public [mychangingProperty] - can be any strongly typed class....
 }
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

Mar*_*ell 8

它既不是强类型也不是动态的; 基本上存在着对立面.

这里的一个选择可能是泛型:

class MyClass<T> {
    public T Value {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

即具有MyClass<Foo>MyClass<Bar>(具有Foo ValueBar Value分别地).

其他选择:

  • 使用描述值之间通用功能的接口/基类
  • 使用对象并自己进行投射/反射等
  • 使用C#4.0和dynamic(尚未发布...)