0

我必须通过 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));

System.Nullable不能在 CodeExpression 中转换。

4

1 回答 1

0

所以这似乎有效:

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

非常糟糕,但工作......

如果有人有更好的主意:D

于 2011-03-30T08:11:10.563 回答