:動態創建類的實例,它可以每次都不同,並且仍然能夠訪問它就是我想要實現下列屬性
我有一個名爲class
,test
和unknown
例如3個自定義類作爲跟隨:
public class class
{
public string name { get; set; }
public Guid ID { get; set; }
public int interval { get; set; }
}
public class test
{
public string name { get; set; }
public Guid ID { get; set; }
public int interval { get; set; }
}
public class unknown
{
public string name { get; set; }
public Guid ID { get; set; }
public int interval { get; set; }
}
現在在我的節目,我讀它包含有創建的實例類的名臺詞的XML文件。
<Messages>
<Message Name='ClassMessage' Type='class' />
<Message Name='TestMessage' Type='test' />
<Message Name='UnknownMessage' Type='unknown' />
</Messages>
我將遍歷XML中的每一行,並基於XML中的給定類型,我必須創建該類的一個實例。我知道你可以通過Activator.CreateInstance()
實現這個唯一的問題是,我將無法訪問它的屬性(名稱,ID,間隔)。
在上面的例子中,雖然我正在處理一些與Microsoft Dynamics CRM 4.0的Web服務對話並且有很多類應該可以選擇的類,但它只有大約3個類。
是否所有的類都有相同的成員?爲什麼不給他們一個共同的祖先? – Steve
@Steve:不,他們不是我在示例中儘可能簡單地創建了這些類,儘管CRM 4.0的類與所有成員完全不同。 –
我認爲你絕對可以用反射來做到這一點,但這不是我一直使用的東西。請參閱http://stackoverflow.com/a/9458673/425871,其中包含有關該主題的一些信息。 – Steve