VB调用dll时用什么变量对应C#byte类型
C#写的COMDLL函数: public byte[] dencrypt(byte[] by) { uint M1 = 0XFAFAFAFA; uint IA1 = 0XF7F7F7F7; uint IC1 = 0XF5F5F5F5; uint key = 0x000004d2; int idx = 0; if (key == 0) key = 1; byte[] byy = new byte[by.Length]; while (idx < by.Length) { key = (uint)IA1 * (key % M1) + IC1; uint sss = (uint)by[idx];
uint ms = ((key >> 20) & 0xFF);
uint mss = sss ^ ms; byy[idx] = (byte)mss; idx++; } return byy; } ===================================================================== 请教各位: VB调用时,用什么变量对应C#byte类型? 如VB也用byte变量类型,调用时报,DLL使用了VB不支持的数据类型。 没使用C#,也没看过相关的东东。
VB中,数组是用的“安全数组”类型,可能是跟其它编程环境中不一样。 只是楼主的代码中,干吗总是进行没必要的重复运算呢? 那个 key 在循环过程中,不发生变化,把它的相关运算在循环之前就计算出来呀。
对了,在C#、Java中,数组、字符串这些,好象都是属于 “对象” 类型的。 在 VB中,恐怕没有办法跟它兼容了。 因为不知道它的“对象构造”。
|