【发布时间】:2017-06-23 20:37:36
【问题描述】:
我的项目中有很多属性(大约 20 个),它们返回同一个类的新对象(传递了不同的参数),因此代码看起来是多余的。是否有任何方法或设计模式可以减少代码量并执行相同的操作。我确实搜索并尝试但找不到任何东西。我的代码是这样的:
public MyClass Prop1
{
get
{
return new MyClass(0, 0);
}
}
public MyClass Prop2
{
get
{
return new MyClass(0, 1);
}
}
public MyClass Prop3
{
get
{
return new MyClass(1, 1);
}
}
public MyClass Prop4
{
get
{
return new MyClass(2, 4);
}
}
任何帮助将不胜感激。谢谢。
编辑:
我正在使用 iTextSharp 生成 PDF,我必须在其中传递不同的颜色,因此我正在创建具有所需颜色的属性并在生成 PDF 时使用它们。
这里MyClass 是iTextSharp 的BaseColor 类,传递的参数是RGB 值。每个属性都会生成不同的颜色。
【问题讨论】:
-
为什么每次调用都返回一个新实例?也许你应该考虑缓存...
-
你能用一些收藏吗?
-
其实每次都需要新对象通过传递RGB值来生成新颜色。
-
由于这些是通过属性公开的,因此您需要它们所在的类的实例来获取这些对象。您确定不希望它们是静态的吗?
-
请提供有关您正在执行的操作的更多信息。除非有正在解决的问题的某些背景,否则不可能提供有用的建议。
标签: c# .net c#-4.0 properties itext