2012-04-15 11 views
-1

In wf4, können Sie binden Variablen und Konstanten zu InArguments oder OutArguments auf 2 Arten, die explizite Syntax:Gibt es irgendwelche Nachteile mit impliziten Umwandlungen für Variablen?

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

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

oder Sie die implizite Syntax

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

es irgendwelche Nachteile können Verwenden Sie die zweite Syntax, wie vielleicht Leistung?

UPDATE

Offenbar

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

nicht funktioniert, aber das

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

für die Value-Eigenschaft funktioniert, können Sie implizit:

var anotherVariable = new Variable<string(); 

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

Es ist verwirrend, wenn Sie implizit verwenden können und wenn nicht

Antwort

0

Nicht wirklich, am Ende wird der gleiche Code ausgeführt. Der einzige zusätzliche Code ist die implizite Umwandlung von Variable in InArgument, aber das ist nur ein Konstruktoraufruf, also kein zusätzlicher Aufwand.

Verwandte Themen