問題的新實例:如何創建泛型類型類
- 如何創建,設置,返回和實例類型「T」的對象?
- 我該如何訪問靜態函數中的子類類型(Tag:DataBASE)?
我想創建一個通用的「GetAsClass」函數,它將返回一個子類的初始化實例。我無法弄清楚如何創建我想返回的類的新實例並返回子類的類型。
說我有兩類:
- 標籤
- 用戶
我想創建的基類,它會得到它是什麼類型的單個功能。在另一方面,我想,使其靜態以及(但我沒有訪問「這個」,我不知道如何讓子類類型。
private async Task<T> GetAsClass<T>(string objectId) {
Type classType = this.GetType();
string className = classType.Name;
// This needs to be of type "T" (Tag myTag = new Tag();) How would I accomplish something like this?
object toReturnObject = new object();
ParseObject myParseObject = ParseObject.GetAsParseObject(objectId);
foreach (PropertyInfo field in classType.GetRuntimeProperties()) {
if (field.CanRead) {
string propertyName = StringHelper.ToLowerCamelCase(field.Name);
if (field.PropertyType == typeof(string)) {
string propertyValue = myParseObject.Get<string>(propertyName);
field.SetValue(toReturnObject , propertyValue);
}
if (field.PropertyType == typeof(int)) {
int propertyValue = myParseObject.Get<int>(propertyName);
field.SetValue(toReturnObject, propertyValue);
}
}
}
return toReturnObject;
}
更高分辨率:http://snag.gy/FbCfu.jpg
我的代碼邏輯是否有意義?我試圖做甚至可能嗎? – 2014-11-02 04:07:35
您應該將您的代碼作爲文本發佈,而不是圖像......標記(稱爲'markdown')能夠將您的問題的一部分作爲代碼,並執行語法突出顯示等。 – Steve 2014-11-02 04:10:48
似乎難以閱讀我認爲這是一個截圖,但可以肯定的是,如果這能讓人們幫助我。現在如何幫助我的問題,而不是對語義的建設性批評。 – 2014-11-02 04:34:27