代码之家  ›  专栏  ›  技术社区  ›  flaurens

带MvvmCross的SQLite net pcl问题

  •  1
  • flaurens  · 技术社区  · 7 年前

    我正在尝试使用SQlite net pcl来存储一些数据。 正如我从不同的帖子中读到的,我必须在我的主项目上创建一个接口服务,然后在我的Android和iOS项目上从该服务实现。 当我试图在Android或iOS项目上实现该界面时,就会出现问题:

    namespace DemoApplication.iOS
    {
       public class LocalFileHelperService : ILocalFileHelperService
       {
    
       }
     }
    

    错误CS0246类型或命名空间名称“ILocalFileHelperService” 找不到(是否缺少using指令或程序集 参考?)

    但当我尝试添加引用时:

    using DemoApplication.Services;
    

    我得到以下错误:

    错误CS0234中不存在类型或命名空间名称“Services” 命名空间“DemoApplication”(是否缺少程序集 参考?)

    我做错什么了吗?我记得,在Android和iOS平台上使用另一种框架是实现服务的正确形式,但现在在MvvmCross中似乎有所不同。

    有人知道怎样做才是正确的形式吗?

    提前谢谢。

    编辑:

    我附上接口定义。

    namespace DemoApplication.Services
    {
        public interface ILocalFileHelperService
        {
            string GetLocalFilePath(string fileName);
        }
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Plac3Hold3r    7 年前

    有时在添加新的时。Visual Studio的intellisense不会获取对中代码的更改。NET标准类库。重新启动Visual Studio似乎可以解决此问题。


    关于你的第二个问题

    你知道我如何注册Interfece或beeing MVVMCRO吗 项目没有必要吗?

    这是必要的。MvvmCross提供 options 在您的 Setup.cs 类,允许您根据核心项目中定义的公共接口注册特定于平台的实现。

    • InitializeFirstChance
    • InitializeLastChance

    对于许多对象,可以选择何时初始化-第一次还是最后一次- 没关系。对于其他人来说,关键的选择是服务是否 需要在创建应用程序之前或之后可用,并且 已初始化。

    实例

    protected override void InitializeFirstChance()
    {
        Mvx.LazyConstructAndRegisterSingleton<ILocalFileHelperService, LocalFileHelperService >();
    }
    
    推荐文章