2012-03-08 16 views
0

私は、DLLを使用するC#でGUIアプリケーションを開発しています。この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; 

} 

さらに、(検証)メッセージ

どのようにすることができますのではない文字列、ブール値を返す必要があります私はdllを通じてフォームにメッセージを送りますか?

答えて

0

その後、クラスのオブジェクトを宣言し、validateメッセージを呼び出し、validateのためにパラメータを渡すことで、dllの名前空間をクラスに追加した後で、プロジェクトのdllの参照を追加する必要があります。

0

ここに表示されているのは、dll内のコードですが、私はdllの中からフォームを更新したいと思っています。 これを行う方法は、あなたのDLL classが、EventArgsとしてフォームに表示したいメッセージを持ち運ぶ、ValidationErrorイベントと言うイベントを公開することです。

次に、フォーム上で、classのオブジェクトをインスタンス化する場所に、そのイベントのリスナーを追加する必要があります。

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

その後、あなたはまだフォームにエラーメッセージを送信しeventをトリガながら、booleanを返しますどのif (myObject.Validate(someOtherObject))を呼び出すためにオブジェクトを使用することができます。

0
public static bool validate(MyObject object, out message) 

これは、validateが呼び出された場所から設定できる出力メッセージ文字列を提供します。

関連する問題