【问题标题】:Modifying an existing c# file [closed]修改现有的 c# 文件 [关闭]
【发布时间】:2013-02-28 17:37:58
【问题描述】:

我需要将一些类/属性级别的属性添加到许多 c# 文件中,因此我想通过编程来完成,而不是手动添加它们。

我的问题基本上是如何以编程方式编辑 c# 文件,我的意思是将 c# 文件加载为 codedom 或 AST 并对其进行编辑并重写到磁盘。

任何 API 都可用于此类工作!

【问题讨论】:

  • 我不知道标签Metaprogramming为什么存在,但你为什么认为它与你的问题有关?!
  • 我们倾向于拒绝那些没有证明他们已经努力尝试自己解决问题的人。例如stackoverflow 永远不应该是解决问题的第一站。
  • 我认为您需要更具描述性并证明到目前为止您所做/研究的内容。 “类/属性级别属性”不够具体。例如,将attribute 用于方法与class 可能具有相似的语法,但范围完全不同。
  • C#文件是一个简单的文本文件,可以用记事本打开。像这样编辑它。

标签: c# metaprogramming


【解决方案1】:

查看CodeDom。您可以加载现有的类,修改它们的对象图,并生成 C# 文件(甚至 JIT 编译和使用)。

【讨论】:

    【解决方案2】:

    如果它们都具有相同的属性...

    创建一个包含所有属性的类;假设你称之为FarmingObjectBase 与属性:

    FarmName{get;set;}
    TractorCount{get;set;}
    

    让你的所有类扩展FarmingObjectBase,这样它们就可以得到它们的属性,并且它们都将具有这两个属性,

    【讨论】:

    • 如果您没有数百个类和属性并且想要快速有效的解决方案,那么复制过去可能是您最好的选择......(只是不要太快以避免错误)
    猜你喜欢
    • 2016-08-12
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 2012-05-30
    • 2019-06-18
    • 2017-07-13
    • 2017-03-30
    • 1970-01-01
    相关资源
    最近更新 更多