我一直在研究LINQ表達式的靜態反射 - 非常酷!來自靜態反射的動態字段?
我以爲有一個想法 - 一個類是否有可能根據另一個類上的靜態反射在一個類上「生成」字段?我特意想到了我在這裏看到的Builder模式很多次。我想做一個流利的nhibernate風格的屬性註冊,在構建器上生成與我想構建的類相匹配的字段。 Soemthing像這樣:像這樣
public class Color
{
private Color()
{
}
public string Name { get; private set; }
public class Builder : BuilderBase<Color>
{
public Builder()
{
Property(x => x.Name);
}
public Build()
{
return built_up_color;
}
}
}
和支持的構造函數語法:
Color c = new Color.Builder() { Name = "Red" }.Build();
所有這一切的關鍵是減少我要重複定義顏色的性的判定的次數。我玩這個:
public class Color
{
private Color()
{
}
public string Name { get; private set; }
public class Builder
{
private Color _color = new Color();
public string Name
{
get { return _color.Name; }
set { _color.Name = value; }
}
public Build()
{
return _color;
}
}
}
這當然可以工作,並列出屬性相同的次數,但感覺更加靈活和不太靈活。似乎我應該可以在這裏做一些匿名類型的東西?
謝謝您的回答。我有一個顏色的構造函數,但它意味着再次參數化參數。您是否看到建造商「通過」顏色的問題? – n8wrl 2009-04-17 20:15:06
我沒有看到問題(除非迂腐模式:),但*我*沒有看到建設者的觀點。 – 2009-04-18 06:41:34