私はコントロールを検証するために使用し、このクラスを持っている:プロパティとしてFunc <>を使用しますか?
public class Validation
{
public object Control { get; set; }
public string Message { get; set; }
public Func<Control, bool> Custom { get; set; }
public Validation()
{
//How to set Custom??
}
private bool IsValid()
{
Control c = Control as Control;
if (c != null)
{
return (!string.IsNullOrWhiteSpace(c.Text));
}
return true;
}
}
クラスは、単にコントロールのText
プロパティは、テキストが含まれていることを確認します。
このクラスを使用する特定のフォームで、特定のコントロールを検証するための独自のカスタムメソッドを設定できるように、クラスを拡張します。
質問:(?デフォルトIsValid
または呼び出し元の形に配置カスタムメソッドのいずれか)私が方法であることがCustom
プロパティを設定する方法を
あなたの関数は、その 'Func'プロパティに一致するシグネチャが間違っています。最初の引数としてコントロール内を渡すことが期待されていますが、代わりにクラスから制御を受け取ります。 – poke
'IsValid'を仮想化して、それぞれの派生クラスにメソッドをオーバーライドさせてみませんか?私はあなたがしようとしていることを誤解していますか? –