CodeConditionStatement и Nullable.Equals

Я должен создать следующий код 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 ответ

Решение

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

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

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

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

Другие вопросы по тегам