C# 如何使用字符串从多个类中获取变量值

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

我正在尝试创建一个表,该表可以加载各种数据。数据格式为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 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);
    }