相关疑难解决方法(0)

使用Case/Switch和GetType来确定对象

可能重复:
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()到类型?

.net c# reflection case switch-statement

143
推荐指数
9
解决办法
20万
查看次数

将接口转换为其具体实现对象,反之亦然?

在C#中,当我有一个接口和几个具体实现时,我可以将接口转换为具体类型还是具体类型转换为接口?

这种情况下的规则是什么?

c# oop

39
推荐指数
2
解决办法
7万
查看次数

标签 统计

c# ×2

.net ×1

case ×1

oop ×1

reflection ×1

switch-statement ×1