c#中的运算符问题

use*_*618 2 c# vb.net operators vb.net-to-c#

我正在将vb代码转换为c#

来自telerik库的枚举:

namespace Telerik.Windows.Controls
{
    // Summary:
    //     Provides flags for enumerating the ViewModes supported by Telerik.Windows.Controls.RadScheduler.
    [Flags]
    public enum AvailableViewModes
    {
        // Summary:
        //     Enables Day view.
        Day = 1,
        //
        // Summary:
        //     Enables Week view.
        Week = 2,
        //
        // Summary:
        //     Enables Month view.
        Month = 4,
        //
        // Summary:
        //     Enables Timeline view.
        Timeline = 8,
        //
        // Summary:
        //     Enables All views.
        All = 15,
    }
}
Run Code Online (Sandbox Code Playgroud)

和vb中的代码是

cal.AvailableViewModes = cal.AvailableViewModes And Not AvailableViewModes.All
Run Code Online (Sandbox Code Playgroud)

转换器回报我

cal.AvailableViewModes = cal.AvailableViewModes & !AvailableViewModes.All
Run Code Online (Sandbox Code Playgroud)

这是不正确的,因为不能applu操作员!对这个枚举的反对意见.

jgl*_*uie 7

使用~运算符翻转位.