2009-07-30 87 views
1

我有一个名为TASKS的类。如何创建动态属性

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

Class MyClass 
{ 
    public [mychangingProperty] - can be any strongly typed class.... 
} 

这怎么可能?

+0

(TASKS`去哪里了,btw?如“我有一个叫TASKS的课程”。) – 2009-07-30 09:24:57

回答

8

它不能同时具有强类型和动态;有很大的对立面。

一种选择这里可能是仿制药:

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

即有MyClass<Foo>MyClass<Bar>(与Foo ValueBar Value分别)。

其他选择:

  • 使用一个接口/基类描述的值之间的共同的功能
  • 使用对象,并执行铸造/反射等自己
  • 使用C#4.0和dynamic(尚未发布...)