0

私はこれに慣れていないので、何か間違ったことをしているのかもしれません。私は .cs ファイル名 PayrollDetails.cs を持っています。その中で、(1) get GrossPay と (2) PayrollDetails の 2 つのクラスを作成しました。GrossPay クラスにいくつかのゲッター メソッドとセッター メソッドがあり、それらを使用したいと考えています。なぜ私はそれを取得していません。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace SSPModel
{
public class getGrossPay {
       public List<BasicPay> BPList;
       private List<Allowance> AlGradeList;
       private List<Allowance> AlPostList;
       private List<AdditionalEarnings> AdEarnList;
       private List<Benefits> BenList;

       public void setBPList(List<BasicPay> a)
       {
           BPList = a;

       }
       public List<BasicPay> GetBPList() {

           return BPList;
       }

       public List<Allowance> GetAlGradeList()
       {
           return AlGradeList;
       }

       public void setAlGradeList(List<Allowance> a)
       {
           AlGradeList = a;
       }

       public List<Allowance> GetAlPostList()
       {
           return AlPostList;
       }

       public void setAlPostList(List<Allowance> a)
       {
           AlPostList = a;
       }
       public List<AdditionalEarnings> GetAdEarnList()
       {
           return AdEarnList;
       }

       public void setAdEarnList(List<AdditionalEarnings> a)
       {
           AdEarnList = a;
       }


       public List<Benefits> GetBenList()
       {
           return BenList;
       }

       public void setBenList(List<Benefits> a)
       {
           BenList = a;
       }
       public void ssss(getGrossPay inst)
       {
        List<BasicPay> a =   inst.GetBPList();
        for (int i = 0; i < a.Count(); i++)
        {
            Debug.WriteLine(a.ElementAtOrDefault(i));

        }

       }
       }
      }

    public class PayrollDetails
    {

        public static void doSomething()
        {
             // i am not getting to call any method from the class getGrossPay.
    }
}

また、あまり関係のない質問ですが、ベスト プラクティスに関するアドバイスが必要です。値を計算する他の .cs ファイル (BasicPay.cs、Allowance.cs など) があります。次に、GrossPay クラスでセッター メソッドを呼び出します (これは問題なく動作します) が、別の場所 (または .cs ファイル) で get メソッドを使用したいと考えています。基本的には、ある場所に設定してから、別の場所でゲッターを使用したいと考えています。別の .cs または場所で getter メソッドを使用するために新しいインスタンスを作成すると、null になります。これをどのように行うかについてのアイデアはありますか?私は基本的に、実行したい関数の長いリストを持っています.1つが完了すると、セッターなどを使用し、すべてが完了すると、設定されたすべてのゲッターメソッドを呼び出して計算を行います. どんな助けでも大歓迎です。

4

2 に答える 2

1

doSomethingの静的メソッドですPayrollDetails。のメソッドとメンバーgetGrossPayは静的ではなく、インスタンスのメソッドとメンバーです。メソッドを呼び出す前に、新しいgetGrossPayをインスタンス化する必要があります。

public static void doSomething()
{
  var grossPay = new getGrossPay();
  var earnList = grossPay.GetAdEarnList();
  //etc.
}
于 2013-02-22T19:08:38.570 に答える
1

1 つのファイルに 2 つのクラスを含めることは違法ではありません。実際、プログラム全体を 1 つのファイルにすることもできます。

読みやすさがすべてです。クラスごとに 1 つのファイルがあると便利です。通常、ファイル名はクラス名です。

プロジェクトが大きくなると、すべてのコードをモジュールに分割するための名前空間ができます。

于 2013-02-22T19:03:46.560 に答える