mef

    1热度

    1回答

    让我解释一下我需要的一个非常简单的例子。假设我有一个使用MEF的VS解决方案,并且具有以下广泛的项目和类结构。 服务器(项目) Server.cs(包含Main方法,用于启动该应用程序。) 共享(项目) \合同 ILogger.cs 个 ISettings.cs 设置(项目) MySettings.cs(类实施ISettings) 记录器(项目 MyLogger.cs(类实施ILogger) 鉴于

    0热度

    1回答

    所以我有一个相当愚蠢的问题,但我想不出一个很好的方法来解决这个“困境”。 我正在开发一个应用程序与MEF,并试图想出一个很好的方法来处理可选的依赖关系。 随机示例,假设有两个插件; “MyPlugin”,以及一个StatusBar插件,可以或不可以由主应用程序加载。 MyPlugin应该具有对状态栏管理器的可选依赖项;如果该插件是由MEF加载的,它将使用它向状态栏输出一些内容;如果没有,它根本不会

    0热度

    1回答

    我正在调查MEF 2(Microsoft.Composition),并希望将其与我现有的代码库相集成。 我目前的代码库有一个IFactory接口用一个简单的签名: public interface IFactory<T> { T Create(); } 我想注册我的工厂,这样,如果我在工厂做一个出口,它注册为Func<T>为工厂的输出为T。因此,像这样: [Export] pu

    3热度

    1回答

    我正在寻找一种方法来注入一个日志记录对象,它将log4net记录器封装到使用MEF的各种对象中。我现在遇到的问题是日志对象需要它所属的对象的类型。我可以通过在包含对象的构造函数中设置日志记录对象的type属性来解决此问题,但是这留下了在开发人员中设置类型的责任,并且没有编译时间限制,我可以考虑强制执行此操作。 我有一种方法来指定,当记录对象由MEF生成并注入时,其构造函数参数设置为注入的目标类的类

    2热度

    1回答

    我正在制作一个与设备通信的应用程序。这可以通过多种物理方式完成,即串行端口和网络(串行端口上的单个设备,网络上的多个设备)。 每个设备的ViewModel需要注入正确的服务。 到目前为止,我只使用了一种通信形式,因此为界面提供单一导出非常简单。不过,我现在也添加了一个用于串口的,这就是我对事物有点模糊的地方。 用于实际通信的接口和实现方式: public interface ICommunicat

    1热度

    1回答

    我无法确定MEF DisableSilentRejection选项的功能。我想认为,使用这个选项会提高组合错误的清晰度,尤其是在依赖项缺少请求对象下几个级别的情况下。但是,它似乎对错误消息没有任何影响。 我正在使用此测试用例来调查MEF如何报告错误。我有一个依赖关系链Foo1 - > foo2的 - > Foo3: [Export] public class Foo1 { [Impo

    0热度

    1回答

    我正在尝试使用棱镜和mef来配置wpf项目。 我有一个问题,我不知道如何解决它。未注释的代码不执行,但注释的代码有效。 你有任何ideea? /// <summary> /// Interaction logic for Shell.xaml /// </summary> [Export] public partial class Shell : Window, IPartImportsS

    1热度

    1回答

    我有第三方DLL,在这个DLL中是这样的层次结构:class Node实现接口INode。这个DLL使用Ninject绑定。我的应用程序使用这个dll和Prism和MEF作为IoC容器。我之前没有在Prism和MEF中练习,所以我想要做的一件事就是将INode绑定到Node。 我没有访问索引节点和节点,所以写水木清华一样,我不能: [Export(typeof(INode))] class No

    0热度

    1回答

    服务呼叫的名称:登录 服务呼叫的消息ID:471922016077bw85rjjb 交易结果: gov.irs.mef.exception.ToolkitRuntimeException:MeFClientSDK000033:消息级安全性错误; gov.irs.mef.services.msi.LoginSecurityHeaderHandler;的handleMessage(); com.sun

    2热度

    2回答

    使用MEF 1,可以使用ComposeExportedValue(...) - 方法(container.ComposeExportedValue...)将现有对象组合到容器中。 Microsoft.Composition(MEF 2)如何做到这一点?为此我找不到任何方法。