首页 > 解决方案 > 在 C# 中传递值时,我在访问类属性时遇到问题 - 总 Noob :(

问题描述

美好的一天,我需要一些帮助来弄清楚我哪里出错了。我认为这将是一个非常简单的项目,但可惜,事实并非如此——我一定错过了一些非常简单的东西。

我正在尝试构建一个具有 2 个属性的“公司”类 - 整数值和字符串 CompName,只是开始(一旦我弄清楚“简单的东西”,我会添加更多)(这是我希望建立的股票市场游戏)

我正在使用 C# WPF。我从控制台应用程序用户那里找到了一个可能有帮助的答案,但对 WPF 没有帮助。

我有一个带有列表框的表格来选择其中一个公司(总共有 40 个可供选择)应该发生的是双击公司(列表中的索引号)。switch 语句运行,WhatIsCompanyName 方法应返回所选公司的名称并将其显示在文本框中。不幸的是,我无法确定如何返回信息。我花了几天的时间来解决这个问题,尝试了不同的方法,但都失败了。

我已经尝试在 MainWindow 以及当前在 Class 中使用 switch 语句(Company 方法 - WhatIsCompanyName)它们都返回与当前上下文中不存在的对象相关的错误 - 我已经尝试将它们移出 heirachy。

namespace BuildCompany1._0
{
    class Company
    {
        public static string CompanyName;

        public Company(string InitCompName)
        {
            string CompanyName = InitCompName;

            Company A1;
            A1 = new Company("AAAA");
            Company A2;
            A2 = new Company("BBBB");


         }

         public static object WhatIsCompanyName(int CompIndex)
        {
            String TempName = "";
            switch (CompIndex)
            {
                case 0:
                    TempName = A1.CompanyName;
                    return TempName;
                default:
                    TempName = A4.CompanyName;
                    return TempName;
             }
      }

主窗口:

private void ListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    int CompIndex = 0;
    string TempName = "";
    CompIndex = LBoxCompIndex.SelectedIndex;
    Company.WhatIsCompanyName(CompIndex); //call the method
    TempName="";
    TBCompName.Text = TempName;
}

我很确定课堂上的开关不是正确的方法,但这是我放弃之前项目的最后一次迭代......我在双击部分尝试过,但我可以确定如何获得特定公司的详细信息 - 我尝试的所有尝试都以公司名称为空。

我猜这与您在 MainWindow 和各种类之间传递值的方式有关,但是我正在研究的书籍并没有引导我朝着正确的方向前进。

如何获取特定公司的 CompanyName(公司范围从 A1-A40)?一旦我能做到这一点,其余的应该遵循类似的方法

谢谢

标签: wpfclasswpf-controls

解决方案


推荐阅读