Пусть у меня есть этот класс:наследует от базового класса
class foo
{
public foo(Guid guid)
{
//some code here
}
public foo(Guid guid, bool myBool)
{
//some other code here
}
//Here I have a bunch of method/properties
public void GenX(bool french, int width)
{
//my method implementation
}
}
и у меня есть еще один класс, который делает в основном все равно, чем foo
за исключением реализации этого метода public GenX(bool french, int width)
и construtor должны отличаться от foo
.
Если я реализую bar
таким образом компилятор жалуется: 'foo' does not contain a constructor that takes '0' arguments
class bar : foo
{
public bar(Guid guid, bool myBool)
{
//some code here
}
new public void GenX(bool french, int width)
{
//my new method implementation
}
//I will be using the implementation of `foo` for the rest of the methods/properties
}
Что я делаю неправильно? Это правильный способ сделать это?
Если это не ясно, я прийти извинений, и я постараюсь сделать его более ясным
Что касается вашего 'метода bar.GenX', вы намерены теневым метода базы, либо вы имели в виду, чтобы изменить это? – valverij
@valverij на данный момент допустим, что это желаемое поведение. Мне нужно будет проверить в моем контексте, чтобы увидеть, следует ли мне просто переопределить –
Вы уверены, что это целый код? Не должно быть: class bar: foo Пожалуйста, покажите нам строку, которая вызывает эту ошибку. – Koscik