对变量使用隐式转换是否有任何缺点?

时间:2012-04-15 08:40:51

标签: workflow-foundation-4

在wf4中,您可以通过两种方式将变量和常量绑定到InArguments或OutArguments, 使用显式语法:

Variable<string> nameOfPerson = new Variable<string>();

new Assign { 
  To = new OutArgument<string>(nameOfPerson),
  Value = new InArgument<string>("Name")
}

或者您可以使用隐式语法

new Assign {
    To = nameOfPerson,
    Value = "Name"
}

使用第二种语法是否有任何缺点,例如性能?

更新

显然,

new Assign { 
    To = nameOfPerson,
    Value="name"
}

不起作用,但确实有效

new Assign {
    To = new OutArgument<string>(nameOfPerson),
    Value = new InArgument<string>("name")
} 

对于Value属性,可以使用隐式:

var anotherVariable = new Variable<string();

new Assign {
    To = new OutArgument<string>(nameOfPerson),
    Value = anotherVariable
}

当你可以使用隐式和不使用

时,这会令人困惑

1 个答案:

答案 0 :(得分:0)

不是真的,最后相同的代码执行。唯一的额外代码是从Variable到InArgument的隐式转换,但这只是一个构造函数调用,因此没有额外的开销。