Я создал этот простой универсальный c интерфейс:
public interface IInitializerSettings<in ViewerType> where ViewerType : Component
{
void Apply(ViewerType dataViewer);
}
и добавил для него реализацию:
public class MenuSettings : IInitializerSettings<CustomGridLayout>
{
public void Apply(CustomGridLayout dataViewer)
{
Debug.Log("Applied");
}
}
public class CustomGridLayout : CustomLayout
{
// The implementation code
}
Теперь я пытаюсь использовать его следующим образом:
public IInitializerSettings<CustomLayout> GetDefaultSettings()
{
return new MenuSettings();
}
Но я получаю эту ошибку «Невозможно преобразовать тип MenuSettings в тип возвращаемого значения IInitializerSettings»
Я не понимаю, почему это не разрешено, CustomGridLayout
наследует CustomLayout
.
Все, что я смог найти, это этот вопрос , но это решение не работает для меня (я не могу использовать ключевое слово out
).