打开泛型类型参数的类型
我有一些通用方法,我想打开该类型。我该怎么做?
此编译:
void MyMethod<T>()
{
switch(typeof(T))
{
default:
throw new ArgumentException($"illegal type: {typeof(T).Name}");
}
}
但这不是:
void MyMethod<T>()
{
switch(typeof(T))
{
case (typeof(string)):
Debug.WriteLine("compiler error CS0150: A constant value is expected");
break;
default:
throw new ArgumentException($"illegal type: {typeof(T).Name}");
}
}
我正在使用C#10.0。
I have some generic method where I want to switch on that type. How do I do that?
This compiles:
void MyMethod<T>()
{
switch(typeof(T))
{
default:
throw new ArgumentException(quot;illegal type: {typeof(T).Name}");
}
}
But this does not:
void MyMethod<T>()
{
switch(typeof(T))
{
case (typeof(string)):
Debug.WriteLine("compiler error CS0150: A constant value is expected");
break;
default:
throw new ArgumentException(quot;illegal type: {typeof(T).Name}");
}
}
I am using C# 10.0.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论