Question

Je dois créer le code VB.NET suivant via un C # Codeconditionstation

If Not Nullable.Equals(field.Name, Value) Then
    ...
End If

Ce que j'ai déjà essayé était

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));

Mais un System.Nullable ne peut pas être converti dans une codeexpression.

Était-ce utile?

La solution

Cela semble donc fonctionner:

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

Assez horrible mais fonctionnant .....

Si quelqu'un a une meilleure idée: D

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top