Her*_*ton 3 c# wpf boolean coding-style enum-flags
如果您反思WPF System.Windows.Controls.Control类,您可以看到:
public class Control : FrameworkElement
{ 
    internal ControlBoolFlags _controlBoolField;
    // [...]
    internal bool ReadControlFlag(ControlBoolFlags reqFlag);
    internal void WriteControlFlag(ControlBoolFlags reqFlag, bool set); 
    // I think it's clear what they do
    // [...]
    internal enum ControlBoolFlags : ushort
    {
        CommandDisabled = 8,
        ContainsSelection = 128,
        ContentIsItem = 16,
        ContentIsNotLogical = 1,
        HeaderIsItem = 32,
        HeaderIsNotLogical = 4,
        IsSpaceKeyDown = 2,
        ScrollHostValid = 64,
        VisualStateChangeSuspended = 256
    }
}
所以我只想知道为什么MS选择这种方式来存储布尔值而不是bool为每个标志使用一个字段.它只是他们的编码风格,他们只是想为每个领域节省空间吗?
有几个原因.一对夫妇包括:
| 归档时间: | 
 | 
| 查看次数: | 173 次 | 
| 最近记录: |