1

4つの異なるBusinessオブジェクトがあり、それぞれが対応するFillBusinessObjectメソッドを呼び出して、個々のオブジェクトのすべてのプロパティを1つずつ入力します。ここで、各タイプのビジネスオブジェクトを埋めることができる共通のメソッドを作成したいと思います。すべてのビジネスオブジェクトが継承する基本クラスを作成しましたが、共通のメソッドから個々のオブジェクトのプロパティを入力する方法を理解できません。

これは可能ですか(はいの場合、どのように)、または私はドリームワールドにいますか?

PSLINQのような別のルートを使用したくありません。

4

2 に答える 2

1

物事を複雑にしすぎているようです。

共通の基本クラスに属する部分を埋めるメソッドを作成し、型ごとに特殊化メソッドを呼び出すことができます。

于 2010-07-22T18:38:50.833 に答える
0

このようなものはどうですか:

namespace ConsoleApplication1
{
    class Program
    {
        static void Main( string[] args )
        {
            // Create some business objects and ask them to initialize
            // themselves.
            //

            var bo1 = new BusinessObject1();
            var bo2 = new BusinessObject2();

            bo1.Fill();
            bo2.Fill();
        }

        public abstract class BusinessObjectBase
        {
            public int x { get; private set; }

            public virtual void Fill()
            {
                x = 123;
            }
        }

        public class BusinessObject1 : BusinessObjectBase
        {
            public int y { get; private set; }

            public override void Fill()
            {
                // Let base class fill itself.
                base.Fill();

                // Now we fill our own properties.
                this.y = 456;
            }
        }

        public class BusinessObject2 : BusinessObjectBase
        {
            public int z { get; private set; }

            public override void Fill()
            {
                // Let base class fill itself.
                base.Fill();

                // Now we fill our own properties.
                this.z = 456;
            }
        }
    }
}
于 2010-07-22T22:39:38.030 に答える