[英]Generate code based which populate an object
假設我有以下課程。
public class MyClass {
public string Data1 { get; set; }
public MyOtherClass Data2 { get; set; }
// 50+ other properties...
}
public class MyOtherClass {
public string OtherData1 { get; set; }
// More properties
}
有一些代碼可以實現該類,並使用所有數據填充它。 我想用這個對象進行測試。 我可以簡單地將結構序列化為XML並稍后重新加載。 但是,我真正想要的是在代碼中構建整個對象樹。 換一種說法:
MyClass myClass = new MyClass {
Data1 = "Hello",
Data2 = new MyOtherClass {
OtherData1 = "World",
// More...
},
// More...
}
我可以自己編寫所有內容,但由於存在大量屬性和子類,因此需要數小時且容易出錯。 這是我的問題:給定一個對象如何生成填充該對象的代碼?
我會使用json作為數據格式,並使用類似http://json2csharp.com的內容來生成用於序列化和反序列化json的類。 或者給定已經存在的類注釋它們並將它們序列化。
這將處理任意嵌套並且可維護。 甚至可以在沒有重新編譯的情況下編輯值,這通常是一件好事。 該鏈接還提供了有關如何指定特定類型,處理枚舉,對象鏈接等的示例。
也許如果你指定為什么它絕對必須從代碼生成,我們可以給出更好的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.