Установка переменной - конструктор / get / set C # - PullRequest
1 голос
/ 01 октября 2011

Я давно запрограммирован, поэтому что-то забыл.

У меня есть класс "Кунде".с некоторыми переменными:

class Kunde
{
    private string _navn;
    private string _adresse;
    private int _postnr;
    private string _by;
    private int _telefonnr;
    private int _mobil;
    private string _email;
    private string _land;
    private string _oplysning;
    private int _kundenr;
    //Erhverv:
    private int _cvr;
    private string _firmanavn;
    private string _kontaktperson;

    //Tom konstruktør
    public Kunde()
    {
    }

    //privat
    public Kunde(string navn, string adresse, int postnr, string by, int telefonnr, int mobil, string email, string land, string oplysning, int kundenr)
    {
        _navn = navn;
        _adresse = adresse;
        _postnr = postnr;
        _by = by;
        _telefonnr = telefonnr;
        _mobil = mobil;
        _email = email;
        _land = land;
        _oplysning = oplysning;
        _kundenr = kundenr;
    }
}

}

мой вопрос: у меня есть winform с некоторыми текстовыми полями, но не каждое поле должно заполняться данными ..

должен ли make получить / установить для каждой переменной возможность устанавливать переменную из другого класса - или конструктор для каждой опции?

Какой лучший способ сделать это?

Ответы [ 4 ]

2 голосов
/ 01 октября 2011

В C # 4.0 вы можете указать значения для свойств при вызове конструктора.

var kunde = new Kunde() 
{
    Navn = navn,
    Adresse = adresse,
    // all your properties
};

Создать get / set методы доступа для каждого из ваших полей, а затем вы можете указать любые свойства, которые вы хотитеустановить как указано выше.

2 голосов
/ 01 октября 2011

Просто предоставьте Get и опционально Access для каждого участника.

Вам придется выбрать какую-либо форму DataBinding + Validation для работы с вашей формой. Но у класса Customer есть свой дизайн и своя логика.

1 голос
/ 01 октября 2011

public string Adresse { get; private set; } и т. Д., И у вас есть автоматическая переменная, доступная только для чтения, за исключением класса.

1 голос
/ 01 октября 2011

Лучше оставить только конструктор по умолчанию и создать открытое свойство для всех данных, которые нужно прочитать или установить.

Вы можете оставить свой конструктор с параметрами - но только с теми, которые действительно обязательны для заполнения.для каждого из ваших Kunde-n.

Если вы планируете привязать ваши объекты Kunde напрямую к некоторому BindingSource и отобразить их, например, в виде сетки / списка и / или дерева, вы можете также рассмотреть возможность реализации некоторых изсвязанные интерфейсы: System.ComponentModel.IdataErrorInfo;System.ComponentModel.INotifyPropertyChanged;

, и вы можете применить атрибуты-атрибуты к вашим общедоступным свойствам - таким как System.ComponentModel.DisplayNameAttribute;- он может определять фиксированное имя заголовков в DataGrid или , он может быть локализован для разных языков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...