我想建立一个通用的扩展方法,可以应用于任何类,但我不知道如何做到这一点。是否可以使用扩展方法扩展泛型类?
到目前为止,我有:
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