c# - 如何创建 Xamarin.Forms 自定义渲染器,其中渲染器基类使用泛型?
问题描述
我有一个基类,如下所示
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
?
解决方案
好的,解决方案发布在这里。
基类:
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
}
}
推荐阅读
- r - 在 RStudio 中重新激活 Push & Pull 按钮
- .htaccess - 用于隐藏文件扩展名和更改文件名的 RewriteRule
- git - 如何缓存 git 个人令牌凭据
- python - 如何通过python创建一个wifi到以太网适配器?
- python-3.x - 运行 TinyAction Challenge 基线代码
- maven - Maven - 使用加密密码进行 oracle OSB 和 SOA 部署
- android - 根据另一个数组列表的值对 Kotlin 数组列表进行排序
- arrays - 找到插入最小堆的最后一个元素?
- reactjs - 反应组件不渲染任何东西,除非我刷新页面
- python - pip-tools 不会将依赖项安装到激活的 virtualenv