Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何使用新操作符重构代码_.net_Oop_Refactoring_New Operator_Factory - Fatal编程技术网

.net 如何使用新操作符重构代码

.net 如何使用新操作符重构代码,.net,oop,refactoring,new-operator,factory,.net,Oop,Refactoring,New Operator,Factory,下面是一个简单的方法,它根据某些条件返回匿名对象。我不喜欢代码中的if条件。有没有办法优雅地重构代码 public Object Get( TypeEnum typeName) { if( typeName == TypeEnum.A ) { var factory = Factory.GetInstance<IContract<IA>>( ); return new { A

下面是一个简单的方法,它根据某些条件返回匿名对象。我不喜欢代码中的if条件。有没有办法优雅地重构代码

    public Object Get( TypeEnum typeName)
    {
        if( typeName == TypeEnum.A )
        {
            var factory = Factory.GetInstance<IContract<IA>>( );
            return new { A = factory.Object };
        }
        var factory = Factory.GetInstance<IContract<IB>>( );
        return new { B = factory.Object };
    }
public Object Get(TypeEnum typeName)
{
if(typeName==TypeEnum.A)
{
var factory=factory.GetInstance();
返回新的{A=factory.Object};
}
var factory=factory.GetInstance();
返回新的{B=factory.Object};
}

编辑:现在更新条件。

这取决于某个条件实际是什么。你应该提供更多的上下文。@Hansmad我已经用更多的上下文更新了这个问题。谢谢