我正在尝试使用CodeDom生成以下代码行:
object o = (object)bytes
其中“bytes”表示字节数组:byte [] bytes = null;
我可以使用VariableDeclaration方法甚至可能使用CodeAssign方法来生成此行的 left 侧,但是如何创建此行的右侧?
我愿意接受任何建议 - 谢谢!
埃文
答案 0 :(得分:1)
这种转换形式称为铸造。转化意味着Convert.ToInt32("123")
或int.Parse("123")
。
投放(您的确切行 object o = (object)bytes;
)
var declaration = new CodeVariableDeclarationStatement()
{
Name = "o",
Type = new CodeTypeReference(typeof(object)),
InitExpression = new CodeCastExpression(typeof(object), new CodeVariableReferenceExpression("bytes"))
};
转换(我的转换示例 object o = Convert.ToInt32("123")
)
var declaration = new CodeVariableDeclarationStatement()
{
Name = "o",
Type = new CodeTypeReference(typeof(object)),
InitExpression = new CodeMethodInvokeExpression(
new CodeTypeReferenceExpression(typeof(Convert)),
"ToInt32",
new CodePrimitiveExpression("123"))
};