CodeConditionStatement и Nullable.Equals - PullRequest
       37

CodeConditionStatement и Nullable.Equals

0 голосов
/ 29 марта 2011

Я должен создать следующий код VB.Net через C # CodeConditionStatement

If Not Nullable.Equals(field.Name, Value) Then
    ...
End If

То, что я уже попробовал, было

var property = new CodeMemberProperty();

CodeExpression condition = new CodeMethodInvokeExpression(System.Nullable,"Equals", new CodeExpression(){
                new CodeVariableReferenceExpression(field.Name),
                new CodePropertySetValueReferenceExpression()
            });

property.SetStatements.Add(new CodeConditionStatement(condition, null));

, но System.Nullable нельзя преобразовать в CodeExpression.

1 Ответ

0 голосов
/ 30 марта 2011

Так что это похоже на работу:

property.SetStatements.Add(new CodeConditionStatement(
                new CodeSnippetExpression(String.Format("Not Nullable.Equals({0}, value)", field.Name)), 
                null));

довольно ужасно, но работает .....

Если у кого-то есть идея получше: D

...