C# CodeDom 类型之间的转换

发布于 2024-11-24 06:00:34 字数 266 浏览 1 评论 0原文

我正在尝试使用 CodeDom 生成以下代码行:

object o = (object)bytes

其中“bytes”表示字节数组:byte[] bytes = null;

我可以使用 VariableDeclaration 方法,甚至可能使用 CodeAssign 方法生成该线的左侧,但如何创建该线的右侧?

我愿意接受任何建议 - 谢谢!

埃文

I am trying to use CodeDom to produce the following line of code:

object o = (object)bytes

Where "bytes" represents a byte array: byte[] bytes = null;

I could use the VariableDeclaration method or possibly even the CodeAssign method to generate the left side of this line, but how can I create the right side of this line?

I am open to any suggestions - thank you!

Evan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作死小能手 2024-12-01 06:00:34

这种转换形式称为强制转换。转换意味着类似于 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"))
};

That form of conversion is called casting. Conversion means something along the lines of Convert.ToInt32("123"), or int.Parse("123").

Cast (Your exact line object o = (object)bytes;)

var declaration = new CodeVariableDeclarationStatement()
{
    Name = "o",
    Type = new CodeTypeReference(typeof(object)),
    InitExpression = new CodeCastExpression(typeof(object), new CodeVariableReferenceExpression("bytes"))
};

Convert (My conversion sample 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"))
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文