使用了一个c#写的类,但是c# 中定义enum类型vb这边用不了。

ayiiq180 2005-10-19 09:28:28
enum在c#中的定义
public enum AccessType : uint
{
GENERIC_READ = 0x80000000,
GENERIC_WRITE = 0x40000000,
GENERIC_EXECUTE = 0x20000000,
GENERIC_ALL = 0x10000000,
}
vb.net中的引用
dacl.AddAce(New AceAccessAllowed(New Sid("Everyone"), AccessType.GENERIC_ALL))
类AceAccessAllowed定义
public AceAccessAllowed(Sid sid, AccessType accessType)
----
如上如果在c#中引用没有任何问题,但在vb.net中引用会出现"类型integer的值无法转换为AccessType "的错误,在线等!谢谢!
...全文
253 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayiiq180 2005-10-19
  • 打赏
  • 举报
回复
忘了说了,是在asp.net下
ayiiq180 2005-10-19
  • 打赏
  • 举报
回复
还是没搞定,改成long编译通过了,vb这边也没错误,但是运行直接出“内存分配访问无效”
ayiiq180 2005-10-19
  • 打赏
  • 举报
回复
改成long之后编译c#的class提示,无法将unit隐式转换为long
AntingZ 2005-10-19
  • 打赏
  • 举报
回复

public enum AccessType : uint
改成
public enum AccessType : long

C#中的uint对System.UInt32的别名,
而UInt32 类型不符合 CLS。符合 CLS 的替代类型是 Int64




ayiiq180 2005-10-19
  • 打赏
  • 举报
回复
没人知道么?急啊

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧