У меня была такая же проблема с Debian Jessie для AMD64. Я сделал это, и это работает:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386
На странице MSDN для рекомендаций по именованию свойств :
Рассмотрите возможность создания свойства с тем же именем, что и его базовое имя. тип. Например, если вы объявляете свойство с именем Color, тип свойство также должно быть Color.
Я бы воспринял это как «нет» :)
Edit:
Если вам не нравится использование полного имени внутри класса, который объявляет свойство, вы можете обойти его it:
using SaveStatusEnum = MyNamespace.SaveStatus;
...
SaveStatus = SaveStatusEnum.SomeValue;
Таким образом, вы можете оставить имя перечисления без суффикса и ограничить причудливость именования только этим одним классом. :)
Рекомендации Microsoft по именованию .NET не дают таких рекомендаций.
Почему бы вам не давать перечислениям и свойствам одинаковые имена? Это:
public SaveStatus SaveStatus { get; set; }
отлично работает, читается, легко обнаруживается и используется.
Использует ли .NET Framework Enum в качестве суффикса? № Вот почему я его тоже не использую.
Вместо этого я использую такие слова, как Option (или Options, если это Flags-Enum), Mode или аналогичные.
public SaveStatusMode SaveStatus { get; set; }
public SaveStatusOption SaveStatus { get; set; }
public SaveStatusVariant SaveStatus { get; set; }
Для некоторых типов классов используются суффиксы, например xxxException
и xxxAttribute
, но суффиксы широко не используются. Например, класс, реализующий IEnumerable, называется не MyListEnumerableClass
, а просто MyList
.
Вместо того, чтобы изобретать стандартный суффикс, загромождающий имена,
Если определение свойства таким образом, как у вас, безусловно, не имеет значения, совпадают ли имена или нет. Я бы сказал, что, наверное, понятнее использовать именно так.
Я знаю, что мое предложение противоречит соглашениям об именах .NET, но я лично префикс перечисления с помощью 'E', а флаги перечисления с помощью 'F' (аналогично тому, как мы префикс Интерфейс с "I"). Я действительно не понимаю, почему это не конвенция. Перечисления / флаги - это особый случай, подобный интерфейсам, которые никогда не меняют свой тип. Он не только проясняет, что это такое, но и очень легко вводить intellisense, поскольку префикс будет фильтровать большинство других типов / переменных / и т. Д., И у вас не будет этих конфликтов имен.
И это также решит другую проблему, когда для примеров в WPF они используют статические классы, такие как перечисления (например, FontWeights), которые имеют предварительно определенные экземпляры типов, но вы не узнаете, если не будете искать их. Если бы они просто добавили к ним префикс «E», все, что вам нужно было бы сделать, это ввести символ, чтобы найти эти специальные статические классы.