如何使用dll向表单发送消息
本文关键字:消息 表单 何使用 dll | 更新日期: 2023-09-27 18:27:10
我正在c#中开发一个使用dll的gui应用程序。这个dll包含几个常见的函数,比如验证属性。
然而,我需要用这样的函数来验证对象的属性:
public static bool validate(MyObject object)
{
bool success = true;
// some validation
if(!valid(object.property))
{
// log to database, this works
log("property is not valid"); // log to database, this works
// how can I do this?
sendMessageToForm("property is not valid");
success = false;
}
return success;
}
此外,validate()必须返回布尔值,而不是消息字符串
如何通过dll向表单发送消息?
您需要在项目中添加dll的引用,然后在类中添加dll名称空间。稍后声明类的对象并调用validate消息并传递参数进行验证。
如果你在这里显示的是dll中的代码,我假设你想从dll中更新表单。这样做的方法是让你的dll class
发布一个事件,比如ValidationError
事件,它也会作为EventArgs
携带你想在表单上显示的消息。
然后,在您的窗体上,从dll class
实例化对象,您还必须为该事件附加一个侦听器。
MyClassInDll myObject=new MyClassInDll();
myObject.ValidationError+=new EventHandler<ValidationErrorMessage>(YourMethodThatDisplaysTheMessagesOnTheForm);
然后,您可以使用该对象调用if (myObject.Validate(someOtherObject))
,它将返回一个boolean
,同时仍然触发向表单发送错误消息的event
。
public static bool validate(MyObject object, out message)
这将为您提供一个输出消息字符串,该字符串可以从调用validate的位置进行设置。