我要解決的事實,我的WCF servicelayer不能處理這樣的通用方法:C#鑄造類型與類型名得到的字符串
public void SaveOrUpdateDomainObject<T>(T domainObject)
{
domainRoot.SaveDomainObject<T>(domainObject);
}
所以我建立了這個變通辦法,而不是
public void SaveOrUpdateDomainObject(object domainObject, string typeName)
{
Type T = Type.GetType(typeName);
var o = (typeof(T))domainObject;
domainRoot.SaveDomainObject<typeof(T)>(o);
}
問題是這不能以某種方式編譯。
我覺得這是我的不完全理解
T型 之間的差別,我相信這是一個類型「類型」
typeof運算的結果的對象的結果(T ) 我相信這會導致T的類型的非對象類型的版本(我不知道怎麼說這完全一致)
`typeof`是一個編譯時構造。在你的情況下`typeof(T)`是`Type`。您正在混合編譯時和運行時的東西。 – 2009-07-27 10:08:06