繁体   English   中英

如何通过DLL中的接口调用内部类方法

[英]How to call Internal class methods through Interface in DLL

在我的Xamarin.iOS绑定项目中,我在ApiDefinition.cs中定义了以下接口

[BaseType(typeof(LSMAHandler))]
[Protocol, Model]
interface LSMAHandlerRegister

它已经在我的project / obj / Debug / ios / project中生成了LSMAHandlerRegister.g.cs。 该文件包含以下内容

  1. 公共接口ILSMAHandlerRegister:INativeObject,IDisposable,SightCallBinding.ILSMAHandler
  2. 内部密封的类LSMAHandlerRegisterWrapper:BaseWrapper,ILSMAHandlerRegister
  3. 公共不安全抽象局部类LSMAHandlerRegister:LSMAHandler,ILSMAHandlerRegister

我已将生成的DLL添加到我的xamarin.ios项目中。 现在,我想在上述类中调用RegisterWithURL方法。 但是该方法的实现仅在内部包装器类中可用。 如何在Xamarin.iOS项目中调用此方法?

简单的答案-您不能。 内部类在dll中不可见。 您可以做一些事情。

首先想想为什么这个类是内部的。 可能有一个重要原因。 您可以做的事情(您必须有权访问此项目)

创建其他使用此内部类的公共类,例如:

public class MyPublicHelper
{
    public void CallMyInternalMethod()
    {
        MyInternalClass obj = new MyInternalClass();
        obj.MyInternalMethod();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM