Если я правильно понимаю, ваша проблема в том, что метод b имеет тот же код, что и метод a, плюс еще немного кода. Что-то вроде
public class x
{
public void a()
{
// a code
}
public void b()
{
// a code
// b code
}
}
если это так, вы можете вызвать метод a в методе b следующим образом
class x
{
public void a()
{
// a code
}
public void b()
{
a();
// b code
}
}
Другой случай, когда у вас есть общий код для обоих методов:
class x
{
public void a()
{
// common code
// a exclusive code
}
public void b()
{
// common code
// b exclusive code
}
}
Затем вы можете извлечь этот код в другой метод, подобный этому:
class x
{
public void a()
{
CommonMethod();
// a exclusive code
}
public void b()
{
CommonMethod();
// b exclusive code
}
private void CommonMethod()
{
// common code
}
}
И о переопределении метода в том же классе. Это называется перегрузка метода , но это работает, позволяя вам создать несколько методов с одинаковыми именами, которые отличаются друг от друга в зависимости от типа ввода.
Как это
class x
{
public string a(int i)
{
}
public string a(string s)
{
}
}
Единственное ограничение заключается в том, что методы должны иметь один и тот же тип возвращаемого значения (строка в этом примере).