Название вопроса может быть не совсем понятным, но вот что я хочу сделать:Возможно ли перегрузить метод, основанный на другом методе?
Скажем, у меня есть статический класс A
. Этот класс содержит статическую функцию, которая называется B
. Он имеет 10+ перегрузок. Функция в значительной степени является базовой, несмотря на множество перегрузок; он не имеет ничего общего с другими членами класса. Я знаю, что могу получить к нему доступ из любой точки мира, импортируя правильные пространства имен и использование:
string bar = A.B("foo", true, 5) // Then do whatever with bar
Теперь предположим, что у меня есть еще один класс C
(не в A
). Теперь я хочу сделать метод под названием D
в C
, который ведет себя так же, как A.B
во всех отношениях. Я пробовал:
public static class C {
public static string D(string p1, bool p2, int p3) {
return A.B(p1, p2, p3);
}
}
Но перегружать этот метод D
точно как A.B
, что я должен делать? Должен ли я писать все отдельные перегрузки вручную или есть лучший способ?
Если 'C.D'' ведет себя так же, как' A.B' во всех отношениях, то какая пинта 'C.D'? –
Я знаю, что это бессмысленно, но только ради знания. Скажем, у меня есть пять вложенных классов (я не думаю, что когда-нибудь будет, но все же). Мне нужно будет получить к ним доступ через «AnIncredibleLargeName.AnotherBigName.AnotherSubClass.YetAnotherSubClass.FinallyTheMethod'. Поэтому, чтобы получить доступ к ним из 'C', я думал о создании метода' D', чтобы просто называть 'D'. –
Я не точно следую, но статические методы не наследуются, поэтому нет механизма наследования или полиморфизма статических методов. –