私は、PDFを表すクラスを使用してPDFアプリケーションを作成しています。私はpdfのテキストボックスごとにプロパティを持っており、属性を使ってプロパティがマップされるpdfテキストボックスを指定しています。私のすべてのPDFは同じプロパティを持っていますが、pdfのテキストボックスには異なる名前が使用されています。だから、私が考えることができる唯一の解決策は、基本クラスを作成し、それぞれのアプリケーションタイプが私の基本クラスを拡張し、新しい属性値を投げるために各プロパティをオーバーライドすることでした。もっと簡単な方法はありますか?継承と属性の値
例(アプリケーション1とアプリケーション2間の唯一の違いは、「TextBox2を」に「のTextBox1」からITextField値の変化であることに注意してください:
public class Application
{
private string accountNumber;
public virtual string AccountNumber
{
get { return this.accountNumber; }
set { this.accountNumber = value; }
}
}
public class Application1 : Application
{
[ITextField("TextBox1")]
public override string AccountNumber
{
get
{
return base.AccountNumber;
}
set
{
base.AccountNumber = value;
}
}
}
public class Application2 : Application
{
[ITextField("TextBox2")]
public override string AccountNumber
{
get
{
return base.AccountNumber;
}
set
{
base.AccountNumber = value;
}
}
}
おかげ
私はそれぞれ約120フィールドの6種類のアプリケーションを持っています。私は基本クラスのルートに行くつもりだと思う。私はそれぞれにマッピングを提供するだけという考えが好きです。また、基本クラスでプロパティを定義して設定するコードを記述するだけで済みます。 – Striker