메신저로 뭔가 잘못하고있을 수도 있습니다. .cs 파일 이름 PayrollDetails.cs에 있습니다. 그 안에 나는 두 클래스 (1) GrossPay와 (2) PayrollDetails을 만들었습니다. 저는 GrossPay 클래스에 getters와 setters 메소드가 있습니다. 나는 그것을 사용하고 싶습니다. 왜 나는 그것을 얻지 못하고 있는가?하나의 .cs 파일에 두 개의 클래스가 있습니다.
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 메서드를 호출하고 내 계산을 수행한다. 어떤 도움이라도 대단히 감사 할 것입니다. 더 많은 경험 프로그래머가이 작업을 수행하는 더 좋은 방법을 가지고 있습니다.
'getGrossPay'는 _action_이 아니고 _thing_이 아니므로 클래스를 다른 것으로 부릅니다 (아마도'GrossPay'?). 또한 C#은 [properties] (http://www.dotnetperls.com/property) 기능을 제공합니다. 그것들은 매우 유용합니다. 기본적으로 여러분이 정의한 getter/setter 메소드에 대한 추상화입니다. – voithos