C# 如何使用字符串从多个类中获取变量值
我正在尝试创建一个表,该表可以加载各种数据。数据格式为class,class中有各种变量,格式为string、float和double 我的数据格式如下。所有数据都将保存到TotalData类中C# 如何使用字符串从多个类中获取变量值,c#,reflection,C#,Reflection,我正在尝试创建一个表,该表可以加载各种数据。数据格式为class,class中有各种变量,格式为string、float和double 我的数据格式如下。所有数据都将保存到TotalData类中 public class TotalData { public List<A> aList; public List<B> bList; } public class A { public int classA_intA; public int
public class TotalData
{
public List<A> aList;
public List<B> bList;
}
public class A
{
public int classA_intA;
public int classA_intB;
public float classA_floatA;
public float classA_floatB;
}
public class B
{
public int classB_intA;
public int classB_intB;
public double classB_doubleA;
public double classB_doubleB;
public double classB_doubleC;
public double classB_doubleD;
public double classB_doubleE;
public double classB_doubleF;
}
我希望有人能解决我的问题。谢谢。:)
下面的脚本是我实际工作的数据格式
[System.Serializable]
public class TotalData
{
public string date;
public string symbol;
public string fillingDate;
public string acceptedDate;
public string period;
public string link;
public string finalLink;
public List<IncomeStatement> IncomeStatement;
public List<BalanceSheet> BalanceSheet;
public List<CashFlow> CashFlow;
public List<FinancialRatios> FinancialRatios;
public List<EnterpriceValue> EnterpriceValue;
public List<KeyMetrics> KeyMetrics;
public List<FinancialGrowth> FinancialGrowth;
public TotalData(IncomeStatements incomeStatement, List<BalanceSheet> balance, List<CashFlow> cashFlow, List<FinancialRatios> financialRatios, List<EnterpriceValue> enterpriceValue, List<KeyMetrics> keyMetrics, List<FinancialGrowth> financialGrowth)
{
this.date = incomeStatement.date;
this.symbol = incomeStatement.symbol;
this.fillingDate = incomeStatement.fillingDate;
this.acceptedDate = incomeStatement.acceptedDate;
this.period = incomeStatement.period;
this.link = incomeStatement.link;
this.finalLink = incomeStatement.finalLink;
this.IncomeStatement = incomeStatement;
this.BalanceSheet = balance;
this.CashFlow = cashFlow;
this.FinancialRatios = financialRatios;
this.EnterpriceValue = enterpriceValue;
this.KeyMetrics = keyMetrics;
this.FinancialGrowth = financialGrowth;
}
}
[System.Serializable]
public class IncomeStatements : IncomeStatement
{
public string date;
public string symbol;
public string fillingDate;
public string acceptedDate;
public string period;
public string link;
public string finalLink;
}
[System.Serializable]
public class IncomeStatement
{
public double revenue;
public double costOfRevenue;
public double grossProfit;
public double grossProfitRatio;
[Header("Cost And Expenses")]
public double researchAndDevelopmentExpenses;
public double generalAndAdministrativeExpenses;
public double sellingAndMarketingExpenses;
public double otherExpenses;
public double operatingExpenses;
public double costAndExpenses;
public double interestExpense;
[Header("EBITDA")]
public double depreciationAndAmortization;
public double ebitda;
public double ebitdaratio;
[Header("Income")]
public double operatingIncome;
public double operatingIncomeRatio;
public double totalOtherIncomeExpensesNet;
public double incomeBeforeTax;
public double incomeBeforeTaxRatio;
public double incomeTaxExpense;
public double netIncome;
public double netIncomeRatio;
[Header("EPS")]
public double eps;
public double epsdiluted;
public double weightedAverageShsOut;
public double weightedAverageShsOutDil;
}
[System.Serializable]
public class BalanceSheet
{
[Header("Current Assets")]
public double cashAndCashEquivalents;
public double shortTermInvestments;
public double cashAndShortTermInvestments;
public double netReceivables;
public double inventory;
public double otherCurrentAssets;
public double totalCurrentAssets;
[Header("Non Current Assets")]
public double propertyPlantEquipmentNet;
public double goodwill;
public double intangibleAssets;
public double goodwillAndIntangibleAssets;
public double longTermInvestments;
public double taxAssets;
public double otherNonCurrentAssets;
public double totalNonCurrentAssets;
[Header("Total Assets")]
public double otherAssets;
public double totalAssets;
[Header("CURRENT LIABILITIES")]
public double accountPayables;
public double shortTermDebt;
public double taxPayables;
public double deferredRevenue;
public double otherCurrentLiabilities;
public double totalCurrentLiabilities;
[Header("NON CURRENT LIABILITIES")]
public double longTermDebt;
public double deferredRevenueNonCurrent;
public double deferredTaxLiabilitiesNonCurrent;
public double otherNonCurrentLiabilities;
public double totalNonCurrentLiabilities;
[Header("TOTAL LIABILITIES")]
public double otherLiabilities;
public double totalLiabilities;
[Header("STOCKHOLDERS EQUITY")]
public double commonStock;
public double retainedEarnings;
public double accumulatedOtherComprehensiveIncomeLoss;
public double othertotalStockholdersEquity;
public double totalStockholdersEquity;
[Header("LIABILITIES and EQUITY")]
public double totalLiabilitiesAndStockholdersEquity;
[Header("INVESTMENT and DEBT")]
public double totalInvestments;
public double totalDebt;
public double netDebt;
}
[System.Serializable]
public class CashFlow
{
[Header("CashProvidedByOperatingActivites")]
public double netIncome;
public double depreciationAndAmortization;
public double deferredIncomeTax;
public double stockBasedCompensation;
public double changeInWorkingCapital;
public double accountsReceivables;
public double inventory;
public double accountsPayables;
public double otherWorkingCapital;
public double otherNonCashItems;
public double netCashProvidedByOperatingActivities;
[Header("CashProvidedByInvestingActivites")]
public double investmentsInPropertyPlantAndEquipment;
public double acquisitionsNet;
public double purchasesOfInvestments;
public double salesMaturitiesOfInvestments;
public double otherInvestingActivites;
public double netCashUsedForInvestingActivites;
[Header("CashProvidedByFinancingingActivites")]
public double debtRepayment;
public double commonStockIssued;
public double commonStockRepurchased;
public double dividendsPaid;
public double otherFinancingActivites;
public double netCashUsedProvidedByFinancingActivities;
[Header("Other")]
public double effectOfForexChangesOnCash;
[Header("Cash&CashFlow")]
public double netChangeInCash;
public double cashAtEndOfPeriod;
public double cashAtBeginningOfPeriod;
public double operatingCashFlow;
public double capitalExpenditure;
public double freeCashFlow;
}
[System.Serializable]
public class FinancialRatios
{
public float currentRatio;
public float quickRatio;
public float cashRatio;
public float daysOfSalesOutstanding;
public float daysOfInventoryOutstanding;
public float operatingCycle;
public float daysOfPayablesOutstanding;
public float cashConversionCycle;
public float grossProfitMargin;
public float operatingProfitMargin;
public float pretaxProfitMargin;
public float netProfitMargin;
public float effectiveTaxRate;
public float returnOnAssets;
public float returnOnEquity;
public float returnOnCapitalEmployed;
public float netIncomePerEBT;
public float ebtPerEbit;
public float ebitPerRevenue;
public float debtRatio;
public float debtEquityRatio;
public float longTermDebtToCapitalization;
public float totalDebtToCapitalization;
public float interestCoverage;
public float cashFlowToDebtRatio;
public float companyEquityMultiplier;
public float receivablesTurnover;
public float payablesTurnover;
public float inventoryTurnover;
public float fixedAssetTurnover;
public float assetTurnover;
public float operatingCashFlowPerShare;
public float freeCashFlowPerShare;
public float cashPerShare;
public float payoutRatio;
public float operatingCashFlowSalesRatio;
public float freeCashFlowOperatingCashFlowRatio;
public float cashFlowCoverageRatios;
public float shortTermCoverageRatios;
public float capitalExpenditureCoverageRatio;
public float dividendPaidAndCapexCoverageRatio;
public float dividendPayoutRatio;
public float priceBookValueRatio;
public float priceToBookRatio;
public float priceToSalesRatio;
public float priceEarningsRatio;
public float priceToFreeCashFlowsRatio;
public float priceToOperatingCashFlowsRatio;
public float priceCashFlowRatio;
public float priceEarningsToGrowthRatio;
public float priceSalesRatio;
public float dividendYield;
public float enterpriseValueMultiple;
public float priceFairValue;
}
[System.Serializable]
public class EnterpriceValue
{
public float stockPrice;
public long numberOfShares;
public long marketCapitalization;
public long minusCashAndCashEquivalents;
public long addTotalDebt;
public long enterpriseValue;
}
[System.Serializable]
public class KeyMetrics
{
public float revenuePerShare;
public float netIncomePerShare;
public float operatingCashFlowPerShare;
public float freeCashFlowPerShare;
public float cashPerShare;
public float bookValuePerShare;
public float tangibleBookValuePerShare;
public float shareholdersEquityPerShare;
public float interestDebtPerShare;
public float marketCap;
public float enterpriseValue;
public float peRatio;
public float priceToSalesRatio;
public float pocfratio;
public float pfcfRatio;
public float pbRatio;
public float ptbRatio;
public float evToSales;
public float enterpriseValueOverEBITDA;
public float evToOperatingCashFlow;
public float evToFreeCashFlow;
public float earningsYield;
public float freeCashFlowYield;
public float debtToEquity;
public float debtToAssets;
public float netDebtToEBITDA;
public float currentRatio;
public float interestCoverage;
public float incomeQuality;
public float dividendYield;
public float payoutRatio;
public float salesGeneralAndAdministrativeToRevenue;
public float researchAndDdevelopementToRevenue;
public float intangiblesToTotalAssets;
public float capexToOperatingCashFlow;
public float capexToRevenue;
public float capexToDepreciation;
public float stockBasedCompensationToRevenue;
public float grahamNumber;
public float roic;
public float returnOnTangibleAssets;
public float grahamNetNet;
public float workingCapital;
public float tangibleAssetValue;
public float netCurrentAssetValue;
public float investedCapital;
public float averageReceivables;
public float averagePayables;
public float averageInventory;
public float daysSalesOutstanding;
public float daysPayablesOutstanding;
public float daysOfInventoryOnHand;
public float receivablesTurnover;
public float payablesTurnover;
public float inventoryTurnover;
public float roe;
public float capexPerShare;
}
[System.Serializable]
public class FinancialGrowth
{
public float revenueGrowth;
public float grossProfitGrowth;
public float ebitgrowth;
public float operatingIncomeGrowth;
public float netIncomeGrowth;
public float epsgrowth;
public float epsdilutedGrowth;
public float weightedAverageSharesGrowth;
public float weightedAverageSharesDilutedGrowth;
public float dividendsperShareGrowth;
public float operatingCashFlowGrowth;
public float freeCashFlowGrowth;
public float tenYRevenueGrowthPerShare;
public float fiveYRevenueGrowthPerShare;
public float threeYRevenueGrowthPerShare;
public float tenYOperatingCFGrowthPerShare;
public float fiveYOperatingCFGrowthPerShare;
public float threeYOperatingCFGrowthPerShare;
public float tenYNetIncomeGrowthPerShare;
public float fiveYNetIncomeGrowthPerShare;
public float threeYNetIncomeGrowthPerShare;
public float tenYShareholdersEquityGrowthPerShare;
public float fiveYShareholdersEquityGrowthPerShare;
public float threeYShareholdersEquityGrowthPerShare;
public float tenYDividendperShareGrowthPerShare;
public float fiveYDividendperShareGrowthPerShare;
public float threeYDividendperShareGrowthPerShare;
public float receivablesGrowth;
public float inventoryGrowth;
public float assetGrowth;
public float bookValueperShareGrowth;
public float debtGrowth;
public float rdexpenseGrowth;
public float sgaexpensesGrowth;
}
[System.Serializable]
公共类TotalData
{
公共字符串日期;
公共字符串符号;
公共字符串填充日期;
公共字符串接受状态;
公共字符串周期;
公共字符串链接;
公共字符串finalLink;
公开披露不实陈述;
公开资产负债表;
公开上市现金流;
公开上市财务比率;
公共清单价值;
公开列表密钥度量;
上市公司财务增长;
公共TotalData(损益表损益表、损益表、现金流量表、财务比率表、企业价值表、关键指标表、财务增长表)
{
this.date=incomestation.date;
this.symbol=incomeStatement.symbol;
this.fillingDate=incomeStatement.fillingDate;
this.acceptedDate=不实陈述.acceptedDate;
本期=损益表期;
this.link=incomeStatement.link;
this.finalLink=不实陈述。finalLink;
本条。不实陈述=不实陈述;
本表为资产负债表=资产负债表;
这是现金流=现金流;
此项。财务比率=财务比率;
this.EnterpriceValue=EnterpriceValue;
this.KeyMetrics=KeyMetrics;
this.FinancialGrowth=金融增长;
}
}
[系统可序列化]
公共类损益表:损益表
{
公共字符串日期;
公共字符串符号;
公共字符串填充日期;
公共字符串接受状态;
公共字符串周期;
公共字符串链接;
公共字符串finalLink;
}
[系统可序列化]
公共类损益表
{
公共双收入;
公共双成本回收;
公共双总收益;
公共双毛利率;
[标题(“成本和费用”)]
公共研究和开发费用;
公共双总管理费用;
公开双重销售和营销费用;
公共开支;
公共双重经营费用;
公共双重成本和费用;
公共双重利益;
[标题(“息税折旧摊销前利润”)]
公开双重折旧和抵押;
公共双息税折旧摊销前利润;
公开双息税折旧摊销前利润;
[标题(“收入”)]
公共双重经营收益;
公共双重经营企业;
公共双合计其他收入和费用网;
税前公共双收入;
公共双收入税前比率;
公共双收入支出;
公共双网络收入;
公共双重网络化;
[标题(“EPS”)]
公共双每股收益;
公共双保险;
公共双加权平均值;
公共双权重平均值;
}
[系统可序列化]
公共类资产负债表
{
[标题(“流动资产”)]
公开双现金及现金等价物;
公共双短期投资;
公开双现金和短期投资;
公共应收账款;
公共双重库存;
公共流动资产;
公共资产;
[标题(“非流动资产”)]
公共双属性灯具设备网;
公众的双重善意;
公共双重无形资产;
公共双重善意和无形资产;
公共双长期投资;
公共资产;
公共和非公共资产;
公共双总非现金资产;
[标题(“总资产”)]
公共资产;
公共资产;
[标题(“流动负债”)]
公共双重应付账款;
公共双短期债务;
应付公共双重税款;
公共收入双倍延期;
公共流动负债;
公共债务;
[标题(“非流动负债”)]
公共双长期债务;
公共双延迟收入非当前;
公共双递延税款非流动性;
公共非流动负债;
公共非流动负债;
[标题(“总负债”)]
公共债务;
公共双重责任;
[标题(“股东权益”)]
公共双公股票;
公共双重保留;
公共双重积累或综合收益;
公共双其他股东权益总额;
上市公司股东权益;
[标题(“负债和权益”)]
公共资产和股东权益的双重总额;
[标题(“投资和债务”)]
公共投资;
公共债务;
公共债务;
}
[系统可序列化]
公共类现金流
{
[标题(“操作活动提供的现金”)]
公共双网络收入;
公开双重折旧和抵押;
公共双延迟;
公共双股票补偿;
公共资本的双重变动;
公共双重账户收入;
公共双重库存;
公共双重账户;
公共营运资本;
公共非现金项目;
经营活动提供的公共双净现金;
[标题(“投资活动提供的现金”)]
房地产、厂房和设备的公共双重投资;
公共双采网;
公共双重投资;
投资到期日的公开双重销售;
公共投资活动;
用于投资活动的公共双净现金;
[标题(“融资活动提供的现金”)]
公共债务偿还;
公共双公;
购买公共双通
[System.Serializable]
public class TotalData
{
public string date;
public string symbol;
public string fillingDate;
public string acceptedDate;
public string period;
public string link;
public string finalLink;
public List<IncomeStatement> IncomeStatement;
public List<BalanceSheet> BalanceSheet;
public List<CashFlow> CashFlow;
public List<FinancialRatios> FinancialRatios;
public List<EnterpriceValue> EnterpriceValue;
public List<KeyMetrics> KeyMetrics;
public List<FinancialGrowth> FinancialGrowth;
public TotalData(IncomeStatements incomeStatement, List<BalanceSheet> balance, List<CashFlow> cashFlow, List<FinancialRatios> financialRatios, List<EnterpriceValue> enterpriceValue, List<KeyMetrics> keyMetrics, List<FinancialGrowth> financialGrowth)
{
this.date = incomeStatement.date;
this.symbol = incomeStatement.symbol;
this.fillingDate = incomeStatement.fillingDate;
this.acceptedDate = incomeStatement.acceptedDate;
this.period = incomeStatement.period;
this.link = incomeStatement.link;
this.finalLink = incomeStatement.finalLink;
this.IncomeStatement = incomeStatement;
this.BalanceSheet = balance;
this.CashFlow = cashFlow;
this.FinancialRatios = financialRatios;
this.EnterpriceValue = enterpriceValue;
this.KeyMetrics = keyMetrics;
this.FinancialGrowth = financialGrowth;
}
}
[System.Serializable]
public class IncomeStatements : IncomeStatement
{
public string date;
public string symbol;
public string fillingDate;
public string acceptedDate;
public string period;
public string link;
public string finalLink;
}
[System.Serializable]
public class IncomeStatement
{
public double revenue;
public double costOfRevenue;
public double grossProfit;
public double grossProfitRatio;
[Header("Cost And Expenses")]
public double researchAndDevelopmentExpenses;
public double generalAndAdministrativeExpenses;
public double sellingAndMarketingExpenses;
public double otherExpenses;
public double operatingExpenses;
public double costAndExpenses;
public double interestExpense;
[Header("EBITDA")]
public double depreciationAndAmortization;
public double ebitda;
public double ebitdaratio;
[Header("Income")]
public double operatingIncome;
public double operatingIncomeRatio;
public double totalOtherIncomeExpensesNet;
public double incomeBeforeTax;
public double incomeBeforeTaxRatio;
public double incomeTaxExpense;
public double netIncome;
public double netIncomeRatio;
[Header("EPS")]
public double eps;
public double epsdiluted;
public double weightedAverageShsOut;
public double weightedAverageShsOutDil;
}
[System.Serializable]
public class BalanceSheet
{
[Header("Current Assets")]
public double cashAndCashEquivalents;
public double shortTermInvestments;
public double cashAndShortTermInvestments;
public double netReceivables;
public double inventory;
public double otherCurrentAssets;
public double totalCurrentAssets;
[Header("Non Current Assets")]
public double propertyPlantEquipmentNet;
public double goodwill;
public double intangibleAssets;
public double goodwillAndIntangibleAssets;
public double longTermInvestments;
public double taxAssets;
public double otherNonCurrentAssets;
public double totalNonCurrentAssets;
[Header("Total Assets")]
public double otherAssets;
public double totalAssets;
[Header("CURRENT LIABILITIES")]
public double accountPayables;
public double shortTermDebt;
public double taxPayables;
public double deferredRevenue;
public double otherCurrentLiabilities;
public double totalCurrentLiabilities;
[Header("NON CURRENT LIABILITIES")]
public double longTermDebt;
public double deferredRevenueNonCurrent;
public double deferredTaxLiabilitiesNonCurrent;
public double otherNonCurrentLiabilities;
public double totalNonCurrentLiabilities;
[Header("TOTAL LIABILITIES")]
public double otherLiabilities;
public double totalLiabilities;
[Header("STOCKHOLDERS EQUITY")]
public double commonStock;
public double retainedEarnings;
public double accumulatedOtherComprehensiveIncomeLoss;
public double othertotalStockholdersEquity;
public double totalStockholdersEquity;
[Header("LIABILITIES and EQUITY")]
public double totalLiabilitiesAndStockholdersEquity;
[Header("INVESTMENT and DEBT")]
public double totalInvestments;
public double totalDebt;
public double netDebt;
}
[System.Serializable]
public class CashFlow
{
[Header("CashProvidedByOperatingActivites")]
public double netIncome;
public double depreciationAndAmortization;
public double deferredIncomeTax;
public double stockBasedCompensation;
public double changeInWorkingCapital;
public double accountsReceivables;
public double inventory;
public double accountsPayables;
public double otherWorkingCapital;
public double otherNonCashItems;
public double netCashProvidedByOperatingActivities;
[Header("CashProvidedByInvestingActivites")]
public double investmentsInPropertyPlantAndEquipment;
public double acquisitionsNet;
public double purchasesOfInvestments;
public double salesMaturitiesOfInvestments;
public double otherInvestingActivites;
public double netCashUsedForInvestingActivites;
[Header("CashProvidedByFinancingingActivites")]
public double debtRepayment;
public double commonStockIssued;
public double commonStockRepurchased;
public double dividendsPaid;
public double otherFinancingActivites;
public double netCashUsedProvidedByFinancingActivities;
[Header("Other")]
public double effectOfForexChangesOnCash;
[Header("Cash&CashFlow")]
public double netChangeInCash;
public double cashAtEndOfPeriod;
public double cashAtBeginningOfPeriod;
public double operatingCashFlow;
public double capitalExpenditure;
public double freeCashFlow;
}
[System.Serializable]
public class FinancialRatios
{
public float currentRatio;
public float quickRatio;
public float cashRatio;
public float daysOfSalesOutstanding;
public float daysOfInventoryOutstanding;
public float operatingCycle;
public float daysOfPayablesOutstanding;
public float cashConversionCycle;
public float grossProfitMargin;
public float operatingProfitMargin;
public float pretaxProfitMargin;
public float netProfitMargin;
public float effectiveTaxRate;
public float returnOnAssets;
public float returnOnEquity;
public float returnOnCapitalEmployed;
public float netIncomePerEBT;
public float ebtPerEbit;
public float ebitPerRevenue;
public float debtRatio;
public float debtEquityRatio;
public float longTermDebtToCapitalization;
public float totalDebtToCapitalization;
public float interestCoverage;
public float cashFlowToDebtRatio;
public float companyEquityMultiplier;
public float receivablesTurnover;
public float payablesTurnover;
public float inventoryTurnover;
public float fixedAssetTurnover;
public float assetTurnover;
public float operatingCashFlowPerShare;
public float freeCashFlowPerShare;
public float cashPerShare;
public float payoutRatio;
public float operatingCashFlowSalesRatio;
public float freeCashFlowOperatingCashFlowRatio;
public float cashFlowCoverageRatios;
public float shortTermCoverageRatios;
public float capitalExpenditureCoverageRatio;
public float dividendPaidAndCapexCoverageRatio;
public float dividendPayoutRatio;
public float priceBookValueRatio;
public float priceToBookRatio;
public float priceToSalesRatio;
public float priceEarningsRatio;
public float priceToFreeCashFlowsRatio;
public float priceToOperatingCashFlowsRatio;
public float priceCashFlowRatio;
public float priceEarningsToGrowthRatio;
public float priceSalesRatio;
public float dividendYield;
public float enterpriseValueMultiple;
public float priceFairValue;
}
[System.Serializable]
public class EnterpriceValue
{
public float stockPrice;
public long numberOfShares;
public long marketCapitalization;
public long minusCashAndCashEquivalents;
public long addTotalDebt;
public long enterpriseValue;
}
[System.Serializable]
public class KeyMetrics
{
public float revenuePerShare;
public float netIncomePerShare;
public float operatingCashFlowPerShare;
public float freeCashFlowPerShare;
public float cashPerShare;
public float bookValuePerShare;
public float tangibleBookValuePerShare;
public float shareholdersEquityPerShare;
public float interestDebtPerShare;
public float marketCap;
public float enterpriseValue;
public float peRatio;
public float priceToSalesRatio;
public float pocfratio;
public float pfcfRatio;
public float pbRatio;
public float ptbRatio;
public float evToSales;
public float enterpriseValueOverEBITDA;
public float evToOperatingCashFlow;
public float evToFreeCashFlow;
public float earningsYield;
public float freeCashFlowYield;
public float debtToEquity;
public float debtToAssets;
public float netDebtToEBITDA;
public float currentRatio;
public float interestCoverage;
public float incomeQuality;
public float dividendYield;
public float payoutRatio;
public float salesGeneralAndAdministrativeToRevenue;
public float researchAndDdevelopementToRevenue;
public float intangiblesToTotalAssets;
public float capexToOperatingCashFlow;
public float capexToRevenue;
public float capexToDepreciation;
public float stockBasedCompensationToRevenue;
public float grahamNumber;
public float roic;
public float returnOnTangibleAssets;
public float grahamNetNet;
public float workingCapital;
public float tangibleAssetValue;
public float netCurrentAssetValue;
public float investedCapital;
public float averageReceivables;
public float averagePayables;
public float averageInventory;
public float daysSalesOutstanding;
public float daysPayablesOutstanding;
public float daysOfInventoryOnHand;
public float receivablesTurnover;
public float payablesTurnover;
public float inventoryTurnover;
public float roe;
public float capexPerShare;
}
[System.Serializable]
public class FinancialGrowth
{
public float revenueGrowth;
public float grossProfitGrowth;
public float ebitgrowth;
public float operatingIncomeGrowth;
public float netIncomeGrowth;
public float epsgrowth;
public float epsdilutedGrowth;
public float weightedAverageSharesGrowth;
public float weightedAverageSharesDilutedGrowth;
public float dividendsperShareGrowth;
public float operatingCashFlowGrowth;
public float freeCashFlowGrowth;
public float tenYRevenueGrowthPerShare;
public float fiveYRevenueGrowthPerShare;
public float threeYRevenueGrowthPerShare;
public float tenYOperatingCFGrowthPerShare;
public float fiveYOperatingCFGrowthPerShare;
public float threeYOperatingCFGrowthPerShare;
public float tenYNetIncomeGrowthPerShare;
public float fiveYNetIncomeGrowthPerShare;
public float threeYNetIncomeGrowthPerShare;
public float tenYShareholdersEquityGrowthPerShare;
public float fiveYShareholdersEquityGrowthPerShare;
public float threeYShareholdersEquityGrowthPerShare;
public float tenYDividendperShareGrowthPerShare;
public float fiveYDividendperShareGrowthPerShare;
public float threeYDividendperShareGrowthPerShare;
public float receivablesGrowth;
public float inventoryGrowth;
public float assetGrowth;
public float bookValueperShareGrowth;
public float debtGrowth;
public float rdexpenseGrowth;
public float sgaexpensesGrowth;
}
public class TotalData
{
public List<KeyValuePair<string,A>> aList;
public List<KeyValuePair<string,B>> bList;
}
var searchresult = totalData.aList.FirstOrDefault(a=>a.Key=="aListname");
public class TotalData
{
public Dictionary<string,A> aList;
public Dictionary<string,B> bList;
}
var aListObject = totalData["aListname"];
public object GetValueFromTotalData(string getDataFromClass,
string nameOfVariable,
TotalData data,
int indexOfList)
{
//check the value string getDataFromClass and initialize the correct class to search from
if(getDataFromClass == "aList"){
//initialize and access aList
} else {
//initialize and access bList
}
//use the same if statements as above to access the correct class and initialize it
//again use an if statement to select index of item from the list set up above
return value;
}
public static class TotalDataReader
{
static public IEnumerable<object> GetList(this TotalData source, string name)
{
switch (name)
{
case "aList": return source.aList;
case "bList": return source.bList;
default: throw new ArgumentException();
}
}
static public object GetItem(this IEnumerable<object> list, int index)
{
return list.Skip(index).First();
}
static public object GetFieldValue(this object source, string fieldName)
{
return source.GetType().GetField(fieldName).GetValue(source);
}
}
public object GetValueFromTotalData(string getDataFromClass, string nameOfVariable, int indexOfList, TotalData data)
{
return data
.GetList(getDataFromClass)
.GetItem(indexOfList);
.GetFieldValue(nameOfVariable);
}