Ali*_*eza 5 c# class type-safety
我需要一个方法中的类名称,例如X.同时,我不想放弃类型安全,我不会允许其他开发人员将字符串(类名)传递给该方法.
像这样的东西:
void X( ??? class) // --> don't know how
{
var className = get the name of class // --> which I don't know how
Console.WriteLine(className);
}
X(tblEmployee); //--> usage of X, where tblEmployee is a POCO class
Run Code Online (Sandbox Code Playgroud)
Rot*_*tem 15
您正在寻找的是一个名为a Type,其中包含有关类的元数据.
您可以在任何实例上使用typeof(class)or .GetType()方法object.
不同的是typeof静态GetType解析并在运行时解决.
void X(Type type)
{
Console.WriteLine(type.FullName);
}
X(typeof(tblEmployee));
Run Code Online (Sandbox Code Playgroud)
你可以使用泛型和FullName属性Type,如下:
void WriteClassName<TClass>(TClass item)
where TClass : class {
Console.WriteLine(item.GetType().FullName);
}
Run Code Online (Sandbox Code Playgroud)
然后TClass根据您的要求应用约束.