c# – 在运行时设置通用类型

前端之家收集整理的这篇文章主要介绍了c# – 在运行时设置通用类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个班
public class A<T>
{
   public static string B(T obj)
   {
       return TransformThisObjectToAString(obj);
   }
}

上面使用的字符串是纯粹的例子.我可以像已知/指定的类型一样调用像这样的静态函数

string s= A<KnownType>.B(objectOfKnownType);

如果我不知道T,我该如何进行此调用,而是具有类型类型的变量.如果我这样做:

Type t= typeof(string);
string s= A<t>.B(someStringObject);

我得到这个编译错误

Cannot implicitly convert type 't' to 'object'

解决方法

你不行编译时必须知道通用类型标识符.

编辑

作为其他职位,似乎有可能通过动态生成方法调用它 – 当然有危险.看到托马斯和达森的职位更多的信息.

原文链接:https://www.f2er.com/csharp/94902.html

猜你在找的C#相关文章