Как я могу отправить сообщение в форму, используя DLL? - PullRequest
0 голосов
/ 08 марта 2012

Я занимаюсь разработкой графического приложения на c #, которое использует dll.Эта 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?

Ответы [ 3 ]

0 голосов
/ 08 марта 2012

Если то, что вы показали здесь, это код внутри вашей dll, я предполагаю, что вы хотите обновить форму внутри dll.Это можно сделать, если ваша dll class опубликует событие, скажем, событие ValidationError, которое будет также содержать EventArgs сообщение, которое вы хотите отобразить в форме.

Затем в вашей форме, где вы создаете экземпляр объекта из вашей dll class, вам также нужно будет присоединить прослушиватель для этого события.

MyClassInDll myObject=new MyClassInDll();
myObject.ValidationError+=new EventHandler<ValidationErrorMessage>(YourMethodThatDisplaysTheMessagesOnTheForm);

Затем вы можете использовать объект для вызова if (myObject.Validate(someOtherObject))который вернет boolean, при этом вызывая event, который отправляет сообщения об ошибках в вашу форму.

0 голосов
/ 08 марта 2012
public static bool validate(MyObject object, out message)

Это даст вам строку выходного сообщения, которую можно установить, откуда вызывается validate.

0 голосов
/ 08 марта 2012

Вам необходимо добавить ссылку на dll в ваш проект, после чего позже добавить пространство имен dll в вашем классе, объявить объект класса и вызвать сообщение validate и передать параметр для проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...