以下是我的自定義類,包含集合。我的應用程序是一個MDI應用程序,可以爲多個程序多次打開「程序」表單,我希望使用ProgramBudget類,但是我希望程序預算內的所有「子類」都包含在程序表單ProgramBudget中類。C#自定義類收集混淆
我有但是在子類中不斷得到智能感知引用recursivelly問題(即:ProgramBudget.ParticipantTypeBudget.ParticipantTypeBudget.ParticipantTypeBudget ...)
什麼是錯的這個類,我如何使用它,自定義類低於:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace IPAM_NSF_Financials.Application_Classes
{
public class ProgramBudget
{
internal string strProgramCode;
private string strActualTravelSourceRefCode;
private string strActualExpenseSourceRefCode;
private string strProgramBudgetComment;
private string strParticipantComment;
private decimal decInitTravel;
private decimal decInitLodging;
private decimal decInitStipend;
private decimal decRemTravel;
private decimal decRemLodging;
private decimal decRemStipend;
private decimal decPartTypeTravel;
private decimal decPartTypeExpenses;
private decimal decPartPrimTravelBudget;
private decimal decPartPrimExpenseBudget;
private decimal decPartPrimRegFee;
private decimal decActualTravelAir;
private decimal decActualTravelGround;
private decimal decActualTravelMisc;
private decimal decActualExpenseLodging;
private decimal decActualExpenseCatering;
private decimal decActualExpenseMisc;
private int nProgramBudgetID;
private int nParticipantTypeBudgetID;
private int nParticipantBudgetHDRID;
private int nParticipantBudgetHDRCommentID;
private int nParticipantBudgetDTLID;
private int nParticipantBudgetDTLExpenseID;
private int nParticipantBudgetDTLTravelID;
private int nPartType;
private int nParticipant;
private int nActualTravelSource;
private int nActualExpenseSource;
public int ProgramBudgetID
{
get { return nProgramBudgetID; }
set { nProgramBudgetID = value; }
}
public string ProgramCode
{
get { return strProgramCode; }
set { strProgramCode = value; }
}
public decimal InitialTravel
{
get { return decInitTravel; }
set { decInitTravel = value; }
}
public decimal InitialLodging
{
get { return decInitLodging; }
set { decInitLodging = value; }
}
public decimal InitialStipend
{
get { return decInitStipend; }
set { decInitStipend = value; }
}
public decimal RemainingTravel
{
get { return decRemTravel; }
set { decRemTravel = value; }
}
public decimal RemainingLodging
{
get { return decRemLodging; }
set { decRemLodging = value; }
}
public decimal RemainingStipend
{
get { return decRemStipend; }
set { decRemStipend = value; }
}
public string ProgramBudgetComment
{
get { return strProgramBudgetComment; }
set { strProgramBudgetComment = value; }
}
public class ParticipantTypeBudget : ProgramBudget
{
public int ParticipantTypeBudgetID
{
get { return nParticipantTypeBudgetID; }
set { nParticipantTypeBudgetID = value; }
}
public int ParticipantType
{
get { return nPartType; }
set { nPartType = value; }
}
public decimal ParticipantTypeTravel
{
get { return decPartTypeTravel; }
set { decPartTypeTravel = value; }
}
public decimal ParticipantTypeExpenses
{
get { return decPartTypeExpenses; }
set { decPartTypeExpenses = value; }
}
}
class ParticipantTypeBudgets : CollectionBase
{
public void Add(ParticipantTypeBudget partTypeBudgetObject)
{ InnerList.Add(partTypeBudgetObject); }
public void Remove(int Index)
{ InnerList.RemoveAt(Index); }
public ParticipantTypeBudget Item(int Index)
{ return (ParticipantTypeBudget)InnerList[Index]; }
}
public class ParticipantPrimaryBudget : ProgramBudget
{
public int ParticipantBudgetHDRID
{
get { return nParticipantBudgetHDRID; }
set { nParticipantBudgetHDRID = value; }
}
public int ParticipantID
{
get { return nParticipant; }
set { nParticipant = value; }
}
public string ParticipantBudgetComment
{
get { return strParticipantComment; }
set { strParticipantComment = value; }
}
public decimal ParticipantPrimaryTravelBudget
{
get { return decPartPrimTravelBudget; }
set { decPartPrimTravelBudget = value; }
}
public decimal ParticipantPrimaryExpenseBudget
{
get { return decPartPrimExpenseBudget; }
set { decPartPrimExpenseBudget = value; }
}
public decimal ParticipantPrimaryRegFee
{
get { return decPartPrimRegFee; }
set { decPartPrimRegFee = value; }
}
}
public class ParticipantActualTravelBudget : ProgramBudget
{
public int ParticipantBudgetDTLID
{
get { return nParticipantBudgetDTLID; }
set { nParticipantBudgetDTLID = value; }
}
public int ParticipantBudgetDTLTravelID
{
get { return nParticipantBudgetDTLTravelID; }
set { nParticipantBudgetDTLTravelID = value; }
}
public int FundingSource
{
get { return nActualTravelSource; }
set { nActualTravelSource = value; }
}
public string ReferenceCode
{
get { return strActualTravelSourceRefCode; }
set { strActualTravelSourceRefCode = value; }
}
public decimal Air
{
get { return decActualTravelAir; }
set { decActualTravelAir = value; }
}
public decimal Ground
{
get { return decActualTravelGround; }
set { decActualTravelGround = value; }
}
public decimal Miscellaneous
{
get { return decActualTravelMisc; }
set { decActualTravelMisc = value; }
}
}
class ParticipantActualTravelBudgets : CollectionBase
{
public void Add(ParticipantActualTravelBudget partActTravelBudgetObject)
{ InnerList.Add(partActTravelBudgetObject); }
public void RemoveAt(int Index)
{ InnerList.RemoveAt(Index); }
public ParticipantActualTravelBudget Item(int Index)
{ return (ParticipantActualTravelBudget)InnerList[Index]; }
}
public class ParticipantActualExpensesBudget : ProgramBudget
{
public int ParticipantBudgetDTLID
{
get { return nParticipantBudgetDTLID; }
set { nParticipantBudgetDTLID = value; }
}
public int ParticipantBudgetDTLExpenseID
{
get { return nParticipantBudgetDTLExpenseID; }
set { nParticipantBudgetDTLExpenseID = value; }
}
public int FundingSource
{
get { return nActualExpenseSource; }
set { nActualExpenseSource = value; }
}
public string ReferenceCode
{
get { return strActualExpenseSourceRefCode; }
set { strActualExpenseSourceRefCode = value; }
}
public decimal Lodging
{
get { return decActualExpenseLodging; }
set { decActualExpenseLodging = value; }
}
public decimal Catering
{
get { return decActualExpenseCatering; }
set { decActualExpenseCatering = value; }
}
public decimal Miscellaneous
{
get { return decActualExpenseMisc; }
set { decActualExpenseMisc = value; }
}
}
class ParticipantActualExpenseBudgets : CollectionBase
{
public void Add(ParticipantActualExpensesBudget partActExpensesBudgetObject)
{ InnerList.Add(partActExpensesBudgetObject); }
public void RemoveAt(int Index)
{ InnerList.RemoveAt(Index); }
public ParticipantActualExpensesBudget Item(int Index)
{ return (ParticipantActualExpensesBudget)InnerList[Index]; }
}
}
}
我們是否真的需要查看所有代碼?毫無疑問?這就是爲什麼我低估了你的問題。 – 2010-07-27 19:28:27
有人需要了解自動屬性! – Aren 2010-07-27 19:28:44
認真 - 看看自動屬性。它將爲您節省大量的編碼。 – 2010-07-27 19:30:22