我想建立一個通用的擴展方法,可以應用於任何類,但我不知道如何做到這一點。是否可以使用擴展方法擴展泛型類?
到目前爲止,我有:
public static class ClassExtensionMethods
{
public static string GetName(this class tempClass)
{
return typeof(tempClass).Name;
}
}
,所以我可以用它作爲:
var NameOfClass1 = MyClass.GetName();
var NameOfClass2 = DiffClass.GetName();
但目前這並不編譯。
是否可以做到這一點或我必須做一個Type
擴展方法?
我的例子稍微簡單化了。實際上,我得到一個SQLite tableName。這意味着擴展方法最初將嘗試從屬性返回到類的名稱中獲取名稱。我可以擴展類型嗎? – user1
@ user1該示例過於簡化。 'Name'是'Type'的一部分,因此可用於所有類。除非您提供了類型約束,否則您將無法調用任何其他方法。你試圖解決的*實際*問題是什麼? –
'這個類型tempClass'應該這樣做。無論如何,你仍然需要使用'typeof'類似'typeof(MyClass).GetName()'。 – tia