簡體   English   中英

將字節數組傳輸到codedom給我一個錯誤

[英]transporting byte array to codedom giving me an error

嘿家伙我正在一個項目,我必須生成一個包含另一個可執行文件的字節數組的可執行文件,基本上我的程序加載一個可執行文件並將所有相應的字節存儲在一個數組中,然后我給encodeom提供可執行文件的來源我去構建然后我循環遍歷包含可執行文件的bytearray並將其添加到codedom源中的新bytearray,然后再使用codedom編譯

有沒有一種更簡單的方法在編譯program2之前將bytearray從program1傳遞到program2的源代碼?

我應該提一下,我已將源分為3部分,以便我可以將bytearray:S添加到源字符串Oo

我查看了完成的代碼並且它沒有任何問題但是當我用encodeom編譯它時我得到了下面的錯誤

Error: C\Users\*myname*\AppData\Local\Temp\ycfx9ffp.0.cs(1,246) : error CS0031: Constant value '197185' cannot be converted to a 'byte'

我不知道如何調試該字符串lol:S

這是用於向源添加字節的循環:

foreach(byte mybyte in stryker)
        {
            if (mybyte != stryker[stryker.Length - 1])
                part2 += mybyte + ", ";
            else
                part2 += mybyte;
        }
        string source = part1 + part2 + part3;

這部分:

if (mybyte != stryker[stryker.Length - 1])
                part2 += mybyte + ", ";

似乎假設“stryker”中的字節是唯一的 - 也就是說,最后一個值(stryker [stryker.Length - 1])不會出現在其他地方。

是這樣的嗎?

正如500指出的那樣,如果字節數組中的字節與最后一個字節相同,則代碼將無法正常工作,這很可能。

修復代碼的最簡單方法可能是使用庫方法來組合字節:

part2 = string.Join(", ", stryker);

在源代碼中包含字節數組對我來說聽起來不是一個好主意。 我認為你應該使用嵌入式資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM