C# 动态构建方法/属性体
所以我有一个样板代码,我想应用到一些特定类的属性上,每个类的属性本质上是相同的。我不必为所有这些属性一次又一次地键入相同的代码,而是想知道是否有任何方法可以在编译后或运行时动态构建这些属性方法,方法是为属性分配一个C#属性,该属性包含每个方法的细微差异(一个字符串)然后通过反射找到这些属性 我知道PostSharp,但我正在寻找一些免费或开源的东西 例如,不必这样做:C# 动态构建方法/属性体,c#,.net,aop,C#,.net,Aop,所以我有一个样板代码,我想应用到一些特定类的属性上,每个类的属性本质上是相同的。我不必为所有这些属性一次又一次地键入相同的代码,而是想知道是否有任何方法可以在编译后或运行时动态构建这些属性方法,方法是为属性分配一个C#属性,该属性包含每个方法的细微差异(一个字符串)然后通过反射找到这些属性 我知道PostSharp,但我正在寻找一些免费或开源的东西 例如,不必这样做: public string Name { get { return _member.GetValue( "otherna
public string Name {
get { return _member.GetValue( "othername" ); }
set { _member.SetValue( "othername", value ); }
}
…对于我拥有的每一处房产,我只想说:
[MapTo( "othername" )]
public string Name { get; set; }
有什么想法吗?看起来您正在寻找一个类似的
AOP(面向方面编程)
的程序
它允许您以编程方式注入代码(就像您提到的那样),并且非常灵活。看起来您正在寻找一个类似的
AOP(面向方面编程)
它允许您以编程方式注入代码(正如您所提到的),并且非常灵活
您可以使用来做类似的事情。您可以使用来做类似的事情。好的,所以它可能有自己的答案。我知道以下AOP框架您无需付费:
- ,
- ,
- 好的,所以它可能有自己的答案。我知道以下AOP框架您无需付费:
Mono.Cecil
是免费的。正如我所说,我知道PostSharp,但它不再免费,需要200美元的许可证。如果你知道任何可行的(免费)选择,请让我知道。是的,我现在意识到了。我想其他人建议的框架是你的选择。例如,Mono.Cecil
是免费的。如果说Mono.Cecil只适用于重写程序集(.DLL),但对操作已加载到应用程序域的程序集没有多大帮助,那么说Mono.Cecil只适用于重写程序集(.DLL)是否正确,但是它对操作已经加载到应用程序域中的程序集没有多大帮助?