Вызов функции C# и переменная абстрактный класс расширяется
Привет, у меня есть вопрос о переносе кода с JAVA на C#.
Но у меня возникла проблема с вызовом функции и переменной.
Что я уже пробовал:
на Яве я горю этим:
public abstract class VisibleObjectController<T extends VisibleObject> {}
и в C# я сделал это:
public abstract class VisibleObjectController<T> where T : VisibleObject {}
Теперь я не знаю о переменной и функции вызова этого класса VisibleObjectController в c#
это JAVA:
private final VisibleObjectController< ? extends VisibleObject > controller; public VisibleObjectController< ? extends VisibleObject > getController() { return controller; }
Так как же я могу сделать то же самое в c#?
Richard Deeming
AFAIK, параметры типа wilcard Java не поддерживаются в C#.
Если бы это был просто метод, вы бы добавили к нему общий параметр:
public VisibleObjectContainer<T> GetController<T>() where T : VisibleObject { ... }
Но поскольку вы также используете поле, вам, вероятно, понадобится универсальный класс, чтобы содержать его:
public class MyContainer<T> where T : VisibleObject { private VisibleObjectController<T> controller; public VisibleObjectController<T> GetController() { return controller; } }
Возможно, если бы вы могли обновить свой вопрос более подробной информацией о том, как вы используете
getController
может быть, кто-нибудь сумеет придумать другое предложение.
EADever
Я хочу использовать эти вызовы функций и переменные внутри класса VisibleObject.