小编ITG*_*ran的帖子

导入属性始终为null(MEF导入问题)

我尝试使用MEF完成一些事情,但现在,我遇到了一个需要帮助的问题.

说明:我有2个DLL和一个EXE文件.ClassLibrary1(LoggerImpl.cs,SomeClass.cs)ClassLibrary2(ILogger.cs)WindowsApplicationForms1(WindowsApplicaitonForms1.cs,Program.cs)

我需要任何帮助或方向,为什么这不起作用?

// ClassLibrary1.dll
//SomeClass.cs
 public class SomeClass
    {
        [Import("Logging", typeof(ILogger))]
        public ILogger Log { get; set; } <-- ALWAYS NULL ???

        public void Print()
        {
            Log.Print();
        }

    }

// ClassLibrary1.dll
// LoggerImpl.cs
namespace ClassLibrary1
{
    [Export("Logging", typeof (ILogger))]
    public class LoggerImpl : ILogger
    {
        public void Print()
        {
            Console.WriteLine("print called");
        }
    }
}

// ClassLibrary2.dll
// ILogger.cs
namespace LogNamespace
{
    public interface ILogger
    {
        void Print();
    }
}

// WindowsFormsApplication1.exe
// WindowsFormsApplication1.cs
namespace WindowsFormsApplication1
{
    [Export("Form1",typeof(Form1))]
    public partial …
Run Code Online (Sandbox Code Playgroud)

c# mef

21
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

mef ×1