2009-11-13 86 views
1

我有一個僞裝成.Net對象的OLEVariant,我通過網絡從客戶端組件接收。我知道內容是一個字節數組,但我不知道如何將這些內容轉換爲本地.Net字節數組(byte [])。有關我如何完成轉換的任何線索?OLEVariant to .Net byte []

編輯:我們回答了我們自己的問題。將一個OleVariant(字節數組)作爲.Net字節[]需要在對象進入一個.Net數組時取出該數組的上限,創建一個新的上限字節[],然後最後做一個Array.Copy()。

回答

1

使用(byte[])myobjmyobj as byte[]將對象轉換爲字節[]。

+0

有人在意解釋downvote?我已經完成了Delphi和C#之間的確切代碼。 – 2009-11-14 04:23:18

+0

不知道downvote來自哪裏。無論如何,我嘗試了鑄造,並沒有奏效。也許我做錯了什麼。我會再檢查一次。 – 2009-11-16 14:16:04

+0

我剛剛回顧並回顧了這段代碼 - 它回溯到2008年中期,但是我看到的是一個返回OleVariant的Delphi COM +服務器(不確定Delphi的OleVariant類型與OLEVariant不同),而C#字面上只有byte [] result = controller.Result as byte []。 .NET方面正在使用一個自動生成的COM代理類來與控制器進行交談,我認爲它一定是以類型Object的形式返回結果。對不起,我沒有更多的技巧來協助。 – 2009-11-16 15:31:40