如何避免在生成的方法语句中出现括号
本文关键字:语句 方法 何避免 | 更新日期: 2023-09-27 18:13:06
我试图做一个分配语句,同时试图使用codedom生成一些c#代码。
下面是我写的语句:
inputmethod.Name = "CaptureInput";
inputmethod.Attributes = MemberAttributes.Public | MemberAttributes.Final;
inputmethod.Parameters.Add(
new CodeParameterDeclarationExpression(typeof(string[]), "inputs"));
inputmethod.Statements.Add(
new CodeBinaryOperatorExpression(
new CodePropertyReferenceExpression(
new CodeThisReferenceExpression(), "ColA")
, CodeBinaryOperatorType.Assign
, new CodeArrayIndexerExpression(
new CodeVariableReferenceExpression("inputs"),
new CodePrimitiveExpression(0))));
当它生成时,我得到这样一行:
(this.ColA = input [0]);
编译器发现上面一行错误,CS0201
如何在生成的输出中删除括号?
括号是binaryoperatoreexpression的一部分。
使用CodeAssignStatement代替codebinaryoperatoreexpression
inputmethod.Statements.Add(new CodeAssignStatement(
new CodeVariableReferenceExpression("ColA"),
new CodeArrayIndexerExpression(
new CodeVariableReferenceExpression("inputs"),
new CodePrimitiveExpression(0))));