У меня есть класс с enums
установки, как так:Использование значений перечислений для сравнения
[FlagsAttribute]
public enum firstByte : uint
{
Battery = 4,
Reverse = 4
};
[StructLayout(LayoutKind.Sequential)]
public class class1: PropertyChangedBase
{
public firstByte FirstByte;
}
из другого класса я хотел бы использовать сравнение, как:
class class2
{
uint test = 1;
if (class1.FirstByte.Battery >= test) {...}
}
Но я не могу на самом деле достигать Battery
подобный. This question действительно похож, но это не совсем то же самое, потому что его enum
не используется объектно-ориентированным образом, как у меня. Я также воспользовался this question, но это меня смущает, потому что он устанавливает его свойство enum
, равное объекту от enum
. Как мне сделать что-то вроде: class1.FirstByte.Battery
?
Ваш код не компилируется. Перечисление должно быть определено вне интерфейса. Вы можете определить свойство на интерфейсе с типом перечисления. – Romoku
Вау, ты прав. Это было глупо. Нужно ли все-таки определять их в классе? Я получаю ошибку времени выполнения, когда я определяю перечисления вне класса в пространстве имен. Вероятно, ошибка новичков. Я не много работал с перечислениями. –
Вам необходимо определить метод, который использует тип Class1. – Romoku