在他自己的自定义属性中使用属性值
Using value of propertie in his own custom attribute
我们在您的业务逻辑中使用了一些 DTO。我还使用这些 DTO 进行打印。所以有一个自定义属性 printable
将在打印框架中使用它来识别要打印的属性。在某些情况下,需要预先格式化打印引擎的值。
我的想法是使用这样的结构:
[Printable(formatedValue = DoFormatingXY(MyProperty))]
public int MyProperty{ get; set; }
但不幸的是,这行不通(除了不得不再次使用属性名称令人不快的事实):
Error An object reference is required for
the non-static field, method, or property '...MyPropertie.get'
所以我明白问题是什么,但是如何处理呢?一个想法是使用委托,但是有很多格式化方法具有不同的方法签名。
属性只是元数据,不是代码。所以将其更改为:
[Printable(FormatStyle = FormatStyles.XY)]
public int MyProperty{ get; set; }
然后打印机代码可以检查属性的 FormatStyle 参数并将请求的格式应用到 属性。
我们在您的业务逻辑中使用了一些 DTO。我还使用这些 DTO 进行打印。所以有一个自定义属性 printable
将在打印框架中使用它来识别要打印的属性。在某些情况下,需要预先格式化打印引擎的值。
我的想法是使用这样的结构:
[Printable(formatedValue = DoFormatingXY(MyProperty))]
public int MyProperty{ get; set; }
但不幸的是,这行不通(除了不得不再次使用属性名称令人不快的事实):
Error An object reference is required for
the non-static field, method, or property '...MyPropertie.get'
所以我明白问题是什么,但是如何处理呢?一个想法是使用委托,但是有很多格式化方法具有不同的方法签名。
属性只是元数据,不是代码。所以将其更改为:
[Printable(FormatStyle = FormatStyles.XY)]
public int MyProperty{ get; set; }
然后打印机代码可以检查属性的 FormatStyle 参数并将请求的格式应用到 属性。