0

我对此很陌生,也许我做错了什么。我有 .cs 文件名 PayrollDetails.cs 。在其中我创建了两个类(1)获取 GrossPay 和(2)PayrollDetails。我在 GrossPay 类中有一些 getter 和 setter 方法,我想使用它们。为什么我没有得到它。

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 类中调用 setter 方法(这工作得很好),但我想在另一个位置(或 .cs 文件)使用 get 方法。我基本上想将它设置在一个地方,然后在不同的位置使用 getter。如果我创建了一个新实例以在另一个 .cs 或位置使用 getter 方法,则会导致 null。关于如何解决这个问题的任何想法?我基本上有一长串我想做的函数,当我完成一个函数时,我使用setter等等,当ALL完成时,调用已经设置的ALL的getter方法,然后进行我的计算。任何帮助将非常感激。

4

2 回答 2

1

在 1 个文件中包含 2 个类并没有什么不合法的。事实上,您可以在 1 个文件中制作整个程序。

这都是关于可读性的。每个类有一个文件很方便,文件名通常是类名。

随着项目变得越来越大,您可以使用命名空间将所有代码拆分为模块。

于 2013-02-22T19:03:46.560 回答
1

doSomething是 中的静态方法PayrollDetails。其中的方法和成员getGrossPay不是静态的,它们是实例方法和成员。您必须先实例化一个新的 getGrossPay,然后才能对其调用方法。

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