В моем настольном приложении у меня возникла проблема с использованием функции в классе Interface.Интерфейсный класс в C#
У меня есть функция, как это для выполнения плагин
public static string ExecutePugin(string PluginName, string ConnectionString)
{
//ToDo: Get the plugin dll in the memory in a different appdomain. call RunAnalysis method of that
//ToDo: shift the primary key checking method to inside the plugin and return the result back.
//Loads the IMFDBAnalyserPlugin.exe to the current application domain.
AppDomain.CurrentDomain.Load("IMFDBAnalyserPlugin");
// Load the plugin's assembly to the current application doamin.
Assembly oAssembly = AppDomain.CurrentDomain.Load(PluginName);
// This block of code will execute the plugin's assembly code.
foreach (Type oType in oAssembly.GetTypes())
{
if (oType.GetInterface("IMFDBAnalyserPlugin") != null)
{
object oPlugin = Activator.CreateInstance(oType, null, null);
((MFDBAnalyser.IMFDBAnalyserPlugin)oPlugin).ExecutePlugin();
}
}
return string.Empty;
}
где класс IMFDBAnalyserPlugin является интерфейсом и содержит код, как этот
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MFDBAnalyser
{
public class IMFDBAnalyserPlugin
{
void ExecutePlugin();
}
}
, но на строительство проекта я получаю ошибку в MFDBAnalyser .IMFDBAnalyserPlugin as
Ошибка 1 Название типа «IMFDBAnalyserPlugin» не существуют в типе D 'MFDBAnalyser.MFDBAnalyser': \ Projects \ Mindfire \ GoalPlan \ MFDBAnalyser \ MFDBAnalyser \ PluginManager.cs 57 107 MFDBAnalyser
может кто-нибудь помочь мне
В C# нет `интерфейса класса ', только` interface` или `class`. Я думаю, должен быть `интерфейс IMFDBAnalyserPlugin`, иначе он не будет компилироваться. – 2010-11-23 06:02:21
... просто FYI, это не интерфейс ... – 2010-11-23 06:05:38