未找到类型'MyClass'的默认构造函数

Tin*_*cko 10 c# xamarin.android xamarin xamarin.forms

我试图从xamarin.forms渲染自定义视图.当我尝试使用以下代码渲染它时

[assembly:ExportRenderer(typeof(SwipeableCard),typeof(CardContainer))].

但是错误就像是

未找到类型为"Com.andtinde.CardContainer"的默认构造函数.

我想这是因为卡容器没有默认构造函数.我无法提供一个,因为它继承自Adapterview.

我做错了什么.任何帮助都会得到满足.

Ale*_*lli 26

我认为这是Xamarin中的已知错误.我有一个与依赖服务相同的问题.我通过在iOS Build Options的链接器行为中设置"Link Framework SDKs"来解决它.

  • 如果我们要保留“链接所有程序集”怎么办?这不是解决方案,而是解决方法... (3认同)
  • 这应该标记为正确答案. (2认同)
  • 这不是一个正确的答案。这是一个愚蠢的解决方法。完整链接是有目的的,删除完整链接不是解决方案。您需要在每个类和成员上添加跳过程序集或使用 [Runtime.Preserve(AllMembers = true)] (2认同)
  • 这不是解决方案 (2认同)

Ste*_*lis 4

你已经发现自己做错了什么。ExportRenderer需要一个默认构造函数才能完成其正在执行的操作。为什么从 AdapterView 继承会阻止您拥有默认构造函数?

您应该能够执行以下操作:

public class CardContainer
{
    public CardContainer() // This is a default constructor
        : base(...) // If base class requires arguments, pass them here
    {
    }
}
Run Code Online (Sandbox Code Playgroud)