CodeConditionStatement and Nullable.Equals
I have to create the following VB.Net code through a C# CodeConditionStatement
If Not Nullable.Equals(field.Name, Value) Then
...
End If
What I alredy tried was
var property = new CodeMemberProp开发者_StackOverflow中文版erty();
CodeExpression condition = new CodeMethodInvokeExpression(System.Nullable,"Equals", new CodeExpression(){
new CodeVariableReferenceExpression(field.Name),
new CodePropertySetValueReferenceExpression()
});
property.SetStatements.Add(new CodeConditionStatement(condition, null));
but a System.Nullable
can't be converted in a CodeExpression.
So this seems to work:
property.SetStatements.Add(new CodeConditionStatement(
new CodeSnippetExpression(String.Format("Not Nullable.Equals({0}, value)", field.Name)),
null));
pretty awful but working.....
If someone has a better idea :D
精彩评论