各位帮帮我吧~ 程序如下:一个接口工程:
using System;using System;
using System.Net.Sockets;
using System.Net;namespace GodzEyeLib
{
/// <summary>
/// 插件接口 
/// </summary>
public delegate void OnActionHandler(object sender, string strMessage);

public interface IPlugin
{
#region events
//插件必要时用其传送消息
event OnActionHandler ActionedFromPlugins;
#endregion  #region properties
//插件的名称
string PluginName  {get;}
//插件的简单描述
string PluginDescription  {get;}
//插件的作者
string PluginAuthor     {get;}
//插件的版本
string PluginVersion {get;}
#endregion #region methods
//插件初始化函数
void   InitPlugin();
//插件退出
void   PluginExit();
//显示插件的配置对话框
void   ShowConfigDiag();
//启动插件的检测功能
void   Start();
#endregion 
}}一个工程实现这个接口:
using System;
using GodzEyeLib;namespace TestLib
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1:GodzEyeLib.IPlugin
{
public Class1()
{
}
#region IPlugin 成员
public event GodzEyeLib.OnActionHandler ActionedFromPlugins;
public string PluginVersion
{
get
{
// TODO:  添加 Class1.PluginVersion getter 实现
return null;
}
} public void Start()
{
for(int i=0;i<10;i++)
{
this.ActionedFromPlugins(this,i.ToString());     //出现System.NullReferenceException异常!!!
}
} public void ShowConfigDiag()
{
// TODO:  添加 Class1.ShowConfigDiag 实现
} public string PluginAuthor
{
get
{
// TODO:  添加 Class1.PluginAuthor getter 实现
return null;
}
} public void PluginExit()
{
// TODO:  添加 Class1.PluginExit 实现
} public string PluginDescription
{
get
{
// TODO:  添加 Class1.PluginDescription getter 实现
return null;
}
} public void InitPlugin()
{
// TODO:  添加 Class1.InitPlugin 实现
} public string PluginName
{
get
{
// TODO:  添加 Class1.PluginName getter 实现
return null;
}
}
#endregion
}
}一个工程调用实现接口的类:
using System;
using TestLib;
using GodzEyeLib;
using System.Net;
using System.Net.Sockets;namespace Test
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
TestLib.Class1 c=new TestLib.Class1();
c.Start();
c.ActionedFromPlugins+=new OnActionHandler(handler);
Console.ReadLine();
} private static void handler(object sender, string strMessage)
{
Console.WriteLine(strMessage);
}
}
}
三个工程编译都没有问题,但最后出现了:
未处理的“System.NullReferenceException”类型的异常出现在 testlib.dll 中。其他信息: 未将对象引用设置到对象的实例。
也就是实现接口的:
public void Start()
{
for(int i=0;i<10;i++)
{
this.ActionedFromPlugins(this,i.ToString());
}
}
上面已经标记出了。唉,怎么都发现不了问题在上面地方,大家帮帮我。
我都快要急死了。