1
0
您可以使用codesmith或mygeneration等对gen进行编码。您可能会将类和属性的列表存储在某个地方,然后将该数据传递给代码生成器。在编译解决方案之前,您可能需要研究使用预生成事件重新生成这些类。 或者,可以将此功能烘焙到基类或帮助器方法中。
我会把尸体
如果这些值中的任何一个对于类中的所有属性都是相同的,那么您当然可以从实例变量中提取它们,并且只传递给getcached(),这些值根据每个属性的不同而有所不同。 底线 :如果有方法提取 逻辑 你在一个基本方法中所做的,这样使用这个逻辑就变成了一个一行程序,那么这可能是最好的方法,因为当你有特殊情况时,它更容易重写。如果你做不到这一点,代码生成可以帮你完成一些繁重的工作,但是你需要像 我什么时候再出生 , 如何重新生成 等。 |
2
1
退房 CodeSmith . 他们有免费试用版,如果你想买的话,价格也不贵。我用过它,它非常适合基于数据库生成代码(我猜你就是这么做的)。模板设置完成后,可以随时重新生成代码。您可以让它从数据库架构中读取属性名,也可以输入要使用的值。我相信如果你想一次生成一整批类,你甚至可以让它从文件中读取值。 |
3
1
您可以使用T4模板签出。我不太确定哪个是t4的“资源”,但我发现 article 在visualstudiomagazine上。 它是免费的,有一个易于使用的语法,实际上被许多项目(例如亚音速)用于代码生成,所以您应该能够找到一些真实的场景。 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |
jkone27 · F#-在编译时从字符串生成简单的空类型 6 年前 |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 6 年前 |
Randall Flagg · 访问propertyinfo中的属性 6 年前 |
Kacper · 在反映的全名和成员c后的“*”中,“+”是什么意思# 6 年前 |
tobeypeters · 反射铸造 6 年前 |
myst02 · 如何在另一个方法之后调用该方法? 6 年前 |