相关疑难解决方法(0)

.Net 4.0优化代码,用于重构现有的"if"条件和"is"运算符

我有以下C#代码.它工作正常; 但是通过使用is运算符,GetDestination()方法被多个if条件混乱.

在.Net 4.0(或更高版本)中,避免这些"if"条件的最佳方法是什么?

编辑:角色是业务模型的一部分,目标纯粹是使用该业务模型的一个特定应用程序的工件.

public class Role { }
public class Manager : Role { }
public class Accountant : Role { }
public class Attender : Role { }
public class Cleaner : Role { }
public class Security : Role { }

class Program
{
    static string GetDestination(Role x)
    {
        string destination = @"\Home";

        if (x is Manager)
        {
            destination = @"\ManagerHomeA";
        }

        if (x is Accountant)
        {
            destination = …
Run Code Online (Sandbox Code Playgroud)

c# oop design-patterns double-dispatch multimethod

3
推荐指数
2
解决办法
701
查看次数

标签 统计

c# ×1

design-patterns ×1

double-dispatch ×1

multimethod ×1

oop ×1