Как вы возвращаете Enum из функции установки / получения?
В настоящее время у меня есть это:
public enum LowerCase
{
a,
b,
}
public enum UpperCase
{
A,
B,
}
public enum Case
{
Upper,
Lower,
}
private Enum _Case;
private Enum _ChosenCase;
public Enum ChooseCase
{
get
{
if ('Condition')
{
return LowerCase; //[need to return LowerCase]
}
else
{
return UpperCase; //[need to return UpperCase]
}
}
set
{
_ChosenCase = value;
}
}
Когда я пытаюсь запустить это, я получаю сообщение об ошибке:
LowerCase является «типом», но используется как «переменная»
Любые идеи, что мне нужно сделать, чтобы вернуть перечисление ????
Я тоже не очень уверен в том, чтобы установить значение в данный момент.
Если кто-нибудь может дать общий совет, я был бы признателен; большинство людей должно видеть, что я пытаюсь сделать.
Большое спасибо.
[Последнее редактирование]
Во-первых, спасибо всем, кто ответил.
В попытке упростить этот вопрос, похоже, я использовал неправильную аналогию прописных / строчных букв, а некоторые из вас ошиблись - явно не ваша ошибка:)
Это код, который у меня есть, и позволяет выбирать между ChoiceOne и ChoiceTwo
public partial class CustomControl1 : Control
{
public enum ChoiceOne
{
SubChoiceA,
SubChoiceB,
}
public enum ChoiceTwo
{
SubChoiceC,
SubChoiceD,
}
public enum Choice
{
ChoiceOne,
ChoiceTwo,
}
private Type _subChoice;
private Choice _choice;
public Type SetSubChoice
{
get
{
if (_choice.Equals(Choice.ChoiceOne))
{
return typeof(ChoiceOne);
}
else
{
return typeof(ChoiceTwo);
}
}
set
{
_subChoice = value;
}
}
public Choice SetChoice
{
get
{
return _choice;
}
set
{
_choice = value;
}
}
}
Что радует в VisualStudio, так это то, что сетка свойств позволяет вам устанавливать свойство SetChoice между ChoiceOne и ChoiceTwo, что является правильным.
Проблема в том, что свойство SetSubChoice неактивно, но для него задано либо «WindowsFormsApplication4.CustomControl1 + ChoiceOne», либо «WindowsFormsApplication4.CustomControl1 + ChoiceTwo», в зависимости от того, для чего установлено SetChoice. Я хочу иметь возможность использовать SetSubChoice для выбора SubChoiceA или SubChoiceB или SubChoiceC или SubChoiceD в зависимости от того, какой SetChoice установлен.
Так, например, если SetChoice установлен на ChoiceOne, то SetSubChoice позволит мне выбирать между ChoiceA или ChoiceB.
Аналогично, если SetChoice установлен в ChoiceTwo, то SetSubChoice позволит мне выбирать между ChoiceC или ChoiceD.
Надеюсь, это прояснило ситуацию немного подробнее?
Мы почти у цели :) Продолжайте в том же духе.
Спасибо