VB.NET代码:Private Const PRINTER_NOTIFY_OPTIONS_REFRESH As Integer = &H1
Public dwFlags As Int32...dwFlags dwFlags = dwFlags And (Not PRINTER_NOTIFY_OPTIONS_REFRESH)如上VB.NET代码,按字面转换成c#代码为下面的:C#代码:
private const int PRINTER_NOTIFY_OPTIONS_REFRESH = 0x1;
public int dwFlags = 0;...dwFlags  = dwFlags  & (!PRINTER_NOTIFY_OPTIONS_REFRESH); 但是因为!运算符在c#中是用于bool类型的操作,而PRINTER_NOTIFY_OPTIONS_REFRESH是整型的,所以不能编译通过.
哪位大侠知道怎么转换c#代码呀?万分感谢!

解决方案 »

  1.   


    dwFlags dwFlags = dwFlags And (Not PRINTER_NOTIFY_OPTIONS_REFRESH) ??
      

  2.   

    ~!~我有个 方法 不用转 
    如果 你要转的 只是个类
    你就新建个类库
    编译成DLL
    然后让C#直接调用~!·
    我只试过一次
    是成功的
    你也可以试试
      

  3.   

    樓上的肯定是可以成功。編譯成。dll 
      

  4.   


    dwFlags= dwFlagsAnd (Not PRINTER_NOTIFY_OPTIONS_REFRESH)
    多打了一个
      

  5.   

    ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_vsref/html/e5525130-1c6c-436d-9425-3b4d931b99b2.htmMSDN有各种语言的运算符对照表,看看就明白了
      

  6.   

    dwFlags = dwFlags & (~PRINTER_NOTIFY_OPTIONS_REFRESH); 
      

  7.   

    http://msdn.microsoft.com/zh-cn/library/6a71f45d.aspx
    C# 语言参考
    C# 运算符
    C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。通常允许对枚举进行整型运算,例如 ==、==、==、==、==、==、==、==、==、==、==、==、==、== 和 ==。此外,很多运算符可被用户 重载,由此在应用到用户定义的类型时更改这些运算符的含义。下表列出了按优先级顺序分组的 C# 运算符。每个组中的运算符具有相同的优先级。(略)http://msdn.microsoft.com/zh-cn/library/d2bd4x66.aspx
    C# 语言参考
    ~ 运算符(C# 参考)~ 运算符对操作数执行按位求补运算,其效果相当于反转每一位。按位求补运算符是为 int、 uint、 long 和 ulong 类型预定义的。