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