Что преимущества к использованию частичного класса в противоположность абстрактному?

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

function r() { return Math.floor(Math.random() * 255) }

var color = 'rgb(' + r() + "," + r() + "," + r() + ')';

Вам просто нужно получить строку, например 'rgb(255, 123, 220)'

8
задан uriDium 29 June 2009 в 11:37
поделиться

6 ответов

Частичные классы имеют не имеет ничего общего с наследованием объектов. Частичные классы - это всего лишь способ разделения исходного кода, определяющего класс, на отдельные файлы (например, это делается, когда вы создаете новую форму в приложении Windows Forms - один файл является «вашим» кодом, другой - файлом .designer.

19
ответ дан 5 December 2019 в 05:26
поделиться

Хороший пример использования - создание одной стороны частичного класса (например, ORM)

4
ответ дан 5 December 2019 в 05:26
поделиться

Самое замечательное в частичном классе - это то, что вы можете взять существующий класс и добавить к нему. Это очень похоже на наследование, но есть много вещей, которые наследование не может сделать, в отличие от частичных классов.

Вот что можно подумать о сгенерированных для вас классах Linq to SQL. Они создаются автоматически, поэтому их не следует изменять. Без частичного класса вы не можете прикрепить интерфейс. Вы можете создать новый класс и унаследовать его от Linq до класса sql, но на самом деле это ничего вам не даст, потому что вы не можете преобразовать linq в sql класс в свой класс с помощью интерфейса.

4
ответ дан 5 December 2019 в 05:26
поделиться

Частичный класс теперь активно используется в ASP.Net, чтобы разрешить два исходных файла: example.aspx на основе разметки и example.aspx.cs на основе кода, чтобы методы и переменные были определены в каждом видны каждому. в example.aspx

<custom:exampleControl id="exampleCntr" property="<%#getProperty()%>" />

в example.aspx.cs

private object GetProperty(){ // called from aspx
    return DateTime.Now;
}

private void DoStuff(){
    ExampleControl c = exampleCntr; //exampleCntr is defined in aspx.
}

Двунаправленный характер этого не может быть воссоздан с помощью абстрактных классов.

1
ответ дан 5 December 2019 в 05:26
поделиться

Назначение частичных классов - позволить определению класса распространяться на несколько файлов. Это может улучшить ремонтопригодность и разделение вашего кода.

0
ответ дан 5 December 2019 в 05:26
поделиться

Мы используем частичные классы для разделения наших больших классов. Таким образом, легче проверить часть кода с помощью Sourcesafe. Это ограничивает случаи, когда четырем разработчикам требуется доступ к одному и тому же файлу.

0
ответ дан 5 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: