-2
我被卡在一些遺留代碼,我不知道。它有什麼作用?任何幫助感謝!這種通用擴展方法的目的是什麼?
public static T ResolveNew<T>(this T type)
{
return UnityContainerHandler.Create().Resolve<T>();
}
謝謝, Drutten
我被卡在一些遺留代碼,我不知道。它有什麼作用?任何幫助感謝!這種通用擴展方法的目的是什麼?
public static T ResolveNew<T>(this T type)
{
return UnityContainerHandler.Create().Resolve<T>();
}
謝謝, Drutten
該代碼通過捕獲靜態已知類型傳遞給它作爲參數的對象的解析類型T
。該對象本身被忽略。
換句話說,你可以這樣做:
MyClass obj = new MyClass();
MyClass res = obj.ResolveNew();
這將調用擴展ResolveNew<MyClass>
,這反過來將返回
UnityContainerHandler.Create().Resolve<MyClass>();
這種方法的實用性是可疑的最好的,因爲參數type
的值被刪除。寫一個不同的效用
public static T ResolveNew<T>() {
return UnityContainerHandler.Create().Resolve<T>();
}
,並要求它像這樣
var res = Util.ResolveNew<MyClass>(); // assuming Util is the name of the static class
會產生不降低可讀性相同的結果。
謝謝你,讓我的一天! :-D – Drutten
試着寫'myEntity.ResolveNew()'。 – HimBromBeere
這完全取決於'UnityContainerHandler'是什麼。 – Rob