Ситуация такая: создается объект, но при создании объекта при определнных условия (напрмиер существование другого объекта) нужно запрещать создавать объект. То есть в конструкторе при определенных условиях нужно уничтожить объект, который создается. Метод Dispose не помогает, я так думаю жолжен быть какой-нибудь другой стандартный способ.
Здравствуйте, <Аноним>, Вы писали:
А> Ситуация такая: создается объект, но при создании объекта при определнных условия (напрмиер существование другого объекта) нужно запрещать создавать объект. То есть в конструкторе при определенных условиях нужно уничтожить объект, который создается. Метод Dispose не помогает, я так думаю жолжен быть какой-нибудь другой стандартный способ.
Курить паттерн Factory.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Уничтожение объекта в его конструкторе
От:
Аноним
Дата:
04.10.06 11:26
Оценка:
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, <Аноним>, Вы писали:
А>> Ситуация такая: создается объект, но при создании объекта при определнных условия (напрмиер существование другого объекта) нужно запрещать создавать объект. То есть в конструкторе при определенных условиях нужно уничтожить объект, который создается. Метод Dispose не помогает, я так думаю жолжен быть какой-нибудь другой стандартный способ.
L>Курить паттерн Factory.
А что это вообще такое? Не приведешь кусок кода?
Re: Уничтожение объекта в его конструкторе
От:
Аноним
Дата:
04.10.06 11:29
Оценка:
Здравствуйте, Аноним, Вы писали:
А> Ситуация такая: создается объект, но при создании объекта при определнных условия (напрмиер существование другого объекта) нужно запрещать создавать объект. То есть в конструкторе при определенных условиях нужно уничтожить объект, который создается. Метод Dispose не помогает, я так думаю жолжен быть какой-нибудь другой стандартный способ.
Здравствуйте, Аноним, Вы писали:
А> Ситуация такая: создается объект, но при создании объекта при определнных условия (напрмиер существование другого объекта) нужно запрещать создавать объект. То есть в конструкторе при определенных условиях нужно уничтожить объект, который создается. Метод Dispose не помогает, я так думаю жолжен быть какой-нибудь другой стандартный способ.
Может быть, просто бросать подходящее исключение? В этом случае вызывающий код не получит ссылку на объект и он будет подобран сборщиком мусора.
Re[4]: Уничтожение объекта в его конструкторе
От:
Аноним
Дата:
04.10.06 11:43
Оценка:
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, <Аноним>, Вы писали:
L>>>Курить паттерн Factory.
А>> А что это вообще такое? Не приведешь кусок кода?
L>Factory method pattern
Спасибо за ссылку, но не нашел там примера как это сделать.
Здравствуйте, <Аноним>, Вы писали:
L>>>>Курить паттерн Factory.
А>>> А что это вообще такое? Не приведешь кусок кода?
L>>Factory method pattern
А> Спасибо за ссылку, но не нашел там примера как это сделать.
class Complex {
public static Complex fromCartesian(double real, double imag) {
if (testConditions())
return new Complex(real, imag);
else
return null;
}
private static bool testConditions(){
return true;
}
private Complex(double a, double b) {
//...
}
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Уничтожение объекта в его конструкторе
От:
Аноним
Дата:
04.10.06 11:55
Оценка:
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, <Аноним>, Вы писали:
L>>>>>Курить паттерн Factory.
А>>>> А что это вообще такое? Не приведешь кусок кода?
L>>>Factory method pattern
А>> Спасибо за ссылку, но не нашел там примера как это сделать.
L>
L>class Complex {
L> public static Complex fromCartesian(double real, double imag) {
L> if (testConditions())
L> return new Complex(real, imag);
L> else
L> return null;
L> }
L> private static bool testConditions(){
L> return true;
L> }
L> private Complex(double a, double b) {
L> //...
L> }
L>}
L>
Этот код я видел, но как-то не вкурю, как это работает. И что вообще такое "public static Complex fromCartesian"? На конструктор не похоже и на метод тоже. Это и есть фабрика класса? А как ее вызывать? Просто пишу код