私はLINQ式でスタティック・リフレクションを勉強しています。静的反射のオンザフライフィールド?
1つのクラスは、あるクラスが別のクラスで行われた静的リフレクションに基づいて1つのクラスにフィールドを生成することは可能ですか?私はここで何度も見たBuilderパターンを特に考えています。私は構築したいクラスに合ったビルダーのフィールドを '生成する'という流暢なハイバネーションスタイルのプロパティー登録をしたいと思います。 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();
このすべてのポイントは、私は色のproperiesを定義繰り返す必要が回数を減らすことです。
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;
}
}
}
これは確かに動作し、同じ回数のプロパティをリストしますが、より細かく柔軟性が低いと感じます。私はここで何か匿名型yをやることができるはずですね?
優れたポイント。私の場合は、実際に部品や車が入る色をモデル化しようとしています。たぶん私は英国の同僚の鉛に従うべきで、名前はColor;) – n8wrl
PartColorを名前として使用することをお勧めします。不変で小さくても構造を作ることを検討したいかもしれませんが、問題を避ける 私はブリットですが、スペリングのプログラミング用語では、帰化したヤンクです。色、同期など) – ShuggyCoUk