У меня есть родительский класс с 2-конструктором и производный класс пытается вызвать конструктор родителя в 2-х различных методовКонструктор в C#
public class Parent
{
public Parent()
{
//some stuffs
}
public Parent(string st)
{
//some stuffs
}
}
Теперь я производный класс с двумя методами. Я должен использовать Parent
-конструктор одним способом и Parent(string st)
другим способом. Но здесь он всегда вызывает Parent
-конструктор. Ниже приведен производный класс
public class Derived : Parent
{
public void GetData()
{
//Here I initialize the constructor like this
Parent p = new Parent();
}
public void GetData1()
{
string s = "1";
Parent p = new Parent(s);
}
}
Пожалуйста, дайте мне знать, как это осуществить. Спасибо заранее.
Вы не наследуете родителя, вы создаете экземпляр. Узнайте, как вызвать родительский конструктор здесь: http://stackoverflow.com/questions/12051/calling-the-base-constructor-in-c-sharp – steenbergh
Почему вы создаете новый экземпляр? У вас уже есть один. Если yu создал 'GetData' static, это был бы заводский метод, который возвращает экземпляр. Но в настоящее время это бессмысленно. –
@steenbergh Тим прав, ваш код как есть, бессмысленно выводить из 'Parent', но вы код вызывает перегрузку конструктора, которая берет строку. Почему вы думаете, что это не так? Поместите в этот конструктор 'Console.WriteLine', вы увидите, что он работает. – Crowcoder