c# - c# "is" 与存储在变量中的类型比较 --
问题描述
我想在运行时更改我在“is”语句中比较的类型,如果我正确理解这个问答,我相信“is”是不可能的但我不完全理解那里给出的答案,
有人可以举例说明如何与可变类型进行工作类型比较吗?
与我在这里尝试过的类似://不起作用(至少不适用于我的 c# ;-))
public static Type T;
public class A { }
public class B { }
public static void Main(string[] args)
{
A AObject = new A();
T = typeof(A);
Console.WriteLine(AObject is T); // schould print true if it worked
T = typeof(B);
Console.WriteLine(AObject is T); // should print false if it worked
Console.Read();
}
链接为关闭此问题的原因的问题不被认为是一个很好的主题问题我同意这一点,我有一个简单的主题问题应该很简单,我想要一个简单的答案而不是提示和技巧指南,即甚至不适合这种问答形式。
我得到了这个简单的答案非常感谢!
解决方案
T.UnderlyingSystemType == typeof(A)
是比较类型的另一种方法
推荐阅读
- java - Spring Boot:当令牌也来自调用另一个api时,rest api中的请求标头中的令牌身份验证(承载)
- regex - 带有正则表达式的自定义 HTMLParser 未正确返回
- ruby-on-rails - 返回页面时,带有数据表的 turbolink 行为很奇怪
- opengl - 使用 GL_FRAMEBUFFER_SRGB 进行 OpenGL 伽马校正
- python - 通过 Discord bot (Python) 发送文件问题
- java - 回退到默认值 - 更好的编码实践
- scikit-learn - ImportError:无法在 anaconda 中导入名称“TfidVectorizer”
- html - 联系人页面错误的移动视图
- dotnetnuke - 在 9.2 中编辑时出现 ThreadAbortException
- ios - 如何通过`UnsafeMutablePointer返回字典
?`参数?