Возможный дубликат:
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;
}
}
Я знаю, что это не так, но мне было интересно, как вы могли бы решить эту проблему. Подходит ли в этом случае оператор if/else
?
Или вы используете переключатель и добавляете .ToString()
к типу?