Ce qui suit est ma classe personnalisée, avec des collections. Mon application est une application MDI avec la possibilité d'ouvrir un formulaire "Programme" plusieurs fois pour plusieurs programmes et je veux utiliser la classe ProgramBudget mais je veux que toutes les "sous-classes" dans le budget du programme soient contenues dans le formulaire ProgramBudget classe.C# Confusion de collection de classe personnalisée
J'ai des problèmes mais où les sous-classes continuent à se IntelliSense référencés dans recursivelly (ie: ProgramBudget.ParticipantTypeBudget.ParticipantTypeBudget.ParticipantTypeBudget ...)
Quel est le problème avec cette classe et comment fonctionnent i avec elle, la classe personnalisée est ci-dessous:
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]; }
}
}
}
Avons-nous vraiment besoin de voir tout ce code? Avec aucune question? C'est pourquoi j'ai rejeté votre question. –
Quelqu'un a besoin de connaître les propriétés automatiques! – Aren
Sérieusement - regardez dans les propriétés auto. Cela vous permettra d'économiser des tonnes de code. –