在下面的代码中:
string GetName(Type type)
{
return ((type)this.obj).Name;
}
void Run()
{
string name = GetName(typeof(MyClass));
}
Run Code Online (Sandbox Code Playgroud)
我得到一个"无法找到类型或名称空间(你是否缺少使用指令或程序集引用?)"错误.我该怎么做才能纠正这个问题?
你不能强制转换为实例!
type是Type类的实例,如果要转换为某个Type,请使用Generics
void GetName<T>() where T : IObjectWithName { return ((T)this.object).Name; }
Run Code Online (Sandbox Code Playgroud)
然后你可以打电话
string name = GetName<MyClass>();
Run Code Online (Sandbox Code Playgroud)
如果这是有感觉的.
| 归档时间: |
|
| 查看次数: |
2375 次 |
| 最近记录: |