假设我有类型
public class A<T> { }
在代码的某处,我想抛出与该类型的错误使用相关的异常:
throw new InvalidOperationException("Cannot use A<T> like that.");
到目前为止,一切都很好,但我不想硬编码类名,所以我想我可以使用
throw new InvalidOperationException($"Cannot use {nameof(A<T>)} like that.");
相反,但在这种情况下,我不知道确切的类型T
。所以我想也许我可以用 C++ 中的模板专业化来做到这一点:
throw new InvalidOperationException($"Cannot use {nameof(A)} like that.");
或者
throw new InvalidOperationException($"Cannot use {nameof(A<>)} like that.");
但那些产量
类型参数的数量不正确。
和
缺少类型参数。
我绝对不想硬编码类名,因为它可能会在以后更改。我怎样才能得到班级的名字,最好是通过nameof
?
理想情况下,我想要实现的是"Cannot use A<T> like that."
or "Cannot use A like that."
。