可能重复:
C# - "开启类型"有比这更好的选择吗?
如果你想要switch
一种类型的对象,最好的方法是什么?
private int GetNodeType(NodeDTO node)
{
switch (node.GetType())
{
case typeof(CasusNodeDTO):
return 1;
case typeof(BucketNodeDTO):
return 3;
case typeof(BranchNodeDTO):
return 0;
case typeof(LeafNodeDTO):
return 2;
default:
return -1;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,但我想知道如何解决这个问题.if/else
在这种情况下是否适用声明?
或者你使用开关并添加.ToString()
到类型?
在C#中,当我有一个接口和几个具体实现时,我可以将接口转换为具体类型还是具体类型转换为接口?
这种情况下的规则是什么?