我尝试使用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)