【发布时间】:2010-07-21 12:52:19
【问题描述】:
void Foo(Type^ type)
{
System::Guid id = type->GUID;
switch (id)
{
case System::Byte::typeid->GUID:
...
break;
...
}
显然 case 表达式不是常量。但我想知道为什么在编译时无法知道 GUID? (我猜这是个愚蠢的问题)。
在一天结束的时候,看起来你必须使用覆盖的if then else 来测试typeid,这是唯一的方法,对吧?
【问题讨论】:
-
MetadataToken属性对于打开类型不是更有用吗?
标签: c++-cli switch-statement typeid