![]() |
1
1
例外情况是告诉你到底出了什么问题。
这行代码
但是,泛型方法需要在尖括号之间有一个非变量参数。类型在运行时不会更改;但是泛型方法的类型参数可以更改。(该语句有一些特定于编译器的细微差别,但现在我们将忽略这些细微差别。) 你真正想要的是:
但是如果您想将类型存储在
这是因为
|
![]() |
2
0
如果你在使用
或者如果我读错了,而你和你想要这样的东西,你可以这样做。
|
![]() |
3
0
我在复印件的帮助下得到了这个。 在invoke方法中,我使用getmethod查找我的方法,并根据字典分配一个泛型类型。因为它是一个私有方法,所以我必须同时使用bindingFlags.nonpublic&bindingFlags.Instance标志才能找到该方法。
|
![]() |
4
0
类型(类)和泛型类型t之间存在差异。您试图从字典中获得的t只是类类型的一个普通变量,而不是作为泛型类型参数传递的任何内容。您可能需要稍微改变一下您的方法,以便在不使用反射的情况下实现您想要的。 方法1。让logaction将一个类型作为参数,并希望有一个重载的版本接受这样的参数:
或者您可以使用func更好地控制解析行为,比如
我建议你不要过于深思熟虑,因为从长远来看,它会给你更多的控制权。 通过分离日志记录和其他不相关的代码,您可以获得更多的乐趣和抽象:
|