【发布时间】:2009-05-18 19:53:33
【问题描述】:
我正在使用代表 pdf 的类填充 PDF 应用程序。我在 pdf 上的每个文本框都有一个属性,并且正在使用属性来指定属性映射到的 pdf 文本框。我所有的 PDF 都具有相同的属性,但 pdf 对文本框使用不同的名称。所以,我能想到的唯一解决方案是创建一个基类,让每个应用程序类型扩展我的基类并覆盖每个属性,以便在其上抛出新的属性值。有没有更简单的方法?
示例(请注意,Application1 和 Application2 之间的唯一区别是 ITextField 值从“TextBox1”更改为“TextBox2”:
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;
}
}
}
谢谢
【问题讨论】:
标签: c# inheritance