我必须通过C#CodeConditionStatement
创建以下VB.Net代码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));
但无法在CodeExpression中转换System.Nullable
。
答案 0 :(得分:0)
所以这似乎有效:
property.SetStatements.Add(new CodeConditionStatement(
new CodeSnippetExpression(String.Format("Not Nullable.Equals({0}, value)", field.Name)),
null));
非常糟糕但工作......
如果有人有更好的主意:D