2011-03-31 1 views
0

Эй, у меня есть класс Dog, у которого есть конструктор, который принимает значения int Id, string Name и SizeType sizeType.Настройка текущего выбранного элемента переключателя на значение для использования в конструкторе объекта

Пользователь может указать все эти значения из пользовательского интерфейса, введя в текстовое поле идентификатор и имя, однако для определения типа sizetype они должны выбрать переключатель. Тип размера - это перечисляемый тип public enum SizeType {small, medium, large}; (это объявлено в файле кода), и это объявляется там, где объявляются переменные экземпляра для класса, private SizeType sizeType_ ;. Теперь, пытаясь создать объект собаки на основе ввода пользователей, как мне установить значение перечисления SizeType для выбранного в настоящий момент радиокнопки на форме?

Здесь все связанные код:

public Dog (int idNumber, string dogName, string breed, SizeType sizeType, NatureType natureType) 
{ 
    dogId_ = idNumber; 
    dogName_ = dogName; 
    breed_ = breed; 
    sizeType_ = sizeType; 
    natureType_ = natureType; 
} 

public enum SizeType { small, medium, large }; 
private SizeType sizeType_; 

ответ

0

какие технологии мы говорим?

Функция Enum.Parse будет принимать строковое значение (значение вашего переключателя) и проанализировать его до значения перечисления, если это то, что вы пытаетесь сделать. Но в зависимости от того, что мы говорим (asp.net mvc, winforms и т. Д.), Это может быть или не быть необходимым.

http://msdn.microsoft.com/en-us/library/system.enum.parse.aspx

+0

Это будет работать, пока вы не захотите начать локализацию приложения. – firefox1986

0

Создание некоторых предположений о технологии, которую вы используете; вы можете ответить на событие CheckedChanged;

public enum SizeType { small, medium, large }; 
    private SizeType size; 

    private void rbSmall_CheckedChanged(object sender, EventArgs e) 
    { 
     size = SizeType.small; 
    } 
    private void rbMedium_CheckedChanged(object sender, EventArgs e) 
    { 
     size = SizeType.medium; 
    } 
    public void CreateDog() 
    { 
     new Dog(10, "Ben", "Poodle", size, ...); 
    }