.netでクラスのプロパティを使って追加情報を添付する方法

私はビジネスエンティティを作りたい。私はそれぞれのプロパティで追加情報を保存したい

例えば

    Public Class BE
    {
        private string _fundCity;

        public string FUND_CITY 
        {
            get { return _fundCity; }
            set { _fundCity = value; }
        }
    }

FUND_CITYについては、私は “StartOffSet”と “EndOffSet”の値をBEに保存します。
誰かが助けることができますか?

ベストアンサー

FUND_CITY
に直接関係するプロパティを使用する場合は、通常は独自のオブジェクトを作成して新しいオブジェクトにプロパティを追加しますが、
code> BE を選択してください。

FUND_CITY を文字列のままにしたい場合は、 BE のプロパティとして
StartOffsetEndOffset
FUND_CITYと同じように私はあなたに例を挙げますが、あなたはその2つのプロパティがどのような型であるかを指定していません。

編集:

あなたが必要とするものはジェネリックのショットを持つラッパークラスです。 BE
すべてのプロパティに StartOffset
EndOffset をトラッキングする場合は、まずジェネリッククラスを作成します。
BEの各プロパティに使用されます。

public class MyProperty 
{
    public MyProperty(T propertyValue)
    {
        PropertyValue = propertyValue;
    }

    public int StartOffset { get; set; }
    public int EndOffset { get; set; }

    public T PropertyValue { get; set; }
}

PropertyValue is used to hold (or wrap)
the actual value of the property. Your class BE then
changes to look like this:

public class BE
{
    public MyProperty FUND_CITY { get; set; }

    public MyProperty SomeOtherProperty { get; set; }
}

次のように使用することができます:

class Program
{
    static void Main(string[] args)
    {

        var myBE = new BE();
        myBE.FUND_CITY = new MyProperty("some random string value") { StartOffset = 0, EndOffset = 10 };
        myBE.SomeOtherProperty = new MyProperty(999);

        Console.ReadKey();
    }
}

If you want to go still further and keep a list of these, then
you can use the inbuilt generic List type, but then you have a small issue: the List
wants all its contents to be of the same type. You can get round
this either by using a base class, or by just casting everything in
the List to type object. Here is an example of using
the base class, it has a small change from the code above:

public class MyPropertyBase
{
    public int StartOffset { get; set; }
    public int EndOffset { get; set; }
}

public class MyProperty : MyPropertyBase
{
    public MyProperty(T propertyValue)
    {
        PropertyValue = propertyValue;
    }

    public T PropertyValue { get; set; }
}

public class BE
{
    public MyProperty FUND_CITY { get; set; }

    public MyProperty SomeOtherProperty { get; set; }

    public List MyDataPoints { get; set; }
}

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です