Как создать пользовательский рендерер Xamarin.Forms, где базовый класс рендерера использует дженерики? - PullRequest
1 голос
/ 19 июня 2019

У меня есть базовый класс, который выглядит следующим образом

public class DialogSelectionItem<Tobject> : ViewCell

Теперь я хочу прикрепить к нему пользовательский рендер:

[assembly: ExportRenderer(typeof(SomeApp.CustomRenderers.DialogSelectionItem<Tobject>), typeof(SomeApp.iOS.CustomRenderers.DialogSelectionItemRenderer))]
namespace SomeApp.iOS.CustomRenderers
{
    public class DialogSelectionItemRenderer : ViewCellRenderer
    {
        // some customizations
    }
}

Проблема в

Не удалось найти имя типа или пространства имен 'Tobject' (отсутствует директива using или ссылка на сборку?)

Вместо этого я могу использовать object, но затемпользовательский рендерер никогда не вызывается.

Есть ли возможность получить правильный тип или использовать универсальный?Как мне определить ExportRenderer?

1 Ответ

0 голосов
/ 19 июня 2019

ОК, решение опубликовано здесь .

Базовый класс:

public class DialogSelectionItem : ViewCell
{
    // nothing
}

public class DialogSelectionItem<Tobject> : DialogSelectionItem
{
    // do something
}

Просмотреть рендер:

[assembly: ExportRenderer(typeof(SomeApp.CustomRenderers.DialogSelectionItem), typeof(SomeApp.iOS.CustomRenderers.DialogSelectionItemRenderer))]
namespace SomeApp.iOS.CustomRenderers
{
    public class DialogSelectionItemRenderer : ViewCellRenderer
    {
        // some customizations
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...