У меня такой вопрос.
Допустим есть такой код на C#.
class SomeClass
{
SomeClass()
{
// код выполняемый по-умолчанию
}
SomeClass(Param1 param1):this()
{
// код инициализации с параметром 1
}
SomeClass(Param2 param2):this()
{
// код инициализации с параметром 2
}
SomeClass(Param1 param1, Param2 param2)
{
// Могу ли я сделать вызов сначала
// SomeClass(param1), а потом
// SomeClass(param2)???
}
}
Здравствуйте, Sad_KirK, Вы писали:
S_K>У меня такой вопрос.
S_K>Допустим есть такой код на C#.
S_K>class SomeClass
S_K>{
S_K> SomeClass()
S_K> {
S_K> // код выполняемый по-умолчанию
S_K> }
S_K> SomeClass(Param1 param1):this()
S_K> {
S_K> // код инициализации с параметром 1
S_K> }
S_K> SomeClass(Param2 param2):this()
S_K> {
S_K> // код инициализации с параметром 2
S_K> }
S_K> SomeClass(Param1 param1, Param2 param2)
S_K> {
S_K> // Могу ли я сделать вызов сначала
S_K> // SomeClass(param1), а потом
S_K> // SomeClass(param2)???
S_K> }
S_K>}
А что если переписать так?
class SomeClass
{
SomeClass(Param1 param1, Param2 param2)
{
}
SomeClass() : this(param1_default,param2_default)
{
}
SomeClass(Param1 param1) : this(param1,param2_default)
{
}
SomeClass(Param2 param2) : this(param1_default,param2)
{
}
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Чет мутновато написанно (вопрос), но если я тя правильно понял, то вызывай из первого конструктора 2-й...
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение