【问题标题】:Get or set accessor expected [duplicate]获取或设置预期的访问器[重复]
【发布时间】:2014-04-09 06:41:47
【问题描述】:

我决定在我的代码中制作系统(在 c# 中),因为它变得越来越大(我在开始时没想到会这样)。所以我正在使用各种方法创建新类,而不是在我的 Form 类中调用它们。例如,我有连接做数据库的类,它运行良好。现在我想用加载 xls 文件的方法制作类。我刚刚将工作代码从我的 Form 类复制到我的新类中,但出现错误:

A get or set accessor expected

这是我的代码:

class LoadReflexTime
{
    public string[,] reflexTime{
    // LOAD XLS to ARRAY
        Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(cesta);   // HERE IS THE ERROR
        Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
        Excel.Range xlRange = xlWorksheet.UsedRange;

        int rowCount = xlRange.Rows.Count;
        int colCount = xlRange.Columns.Count;

        reflexTime = new string[rowCount, colCount];
        for (int i = 1; i <= rowCount; i++)
        {
            for (int j = 1; j <= colCount; j++)
            {
                string str = xlRange.Cells[i, j].Text;
                reflexTime[i - 1, j - 1] = str;
            }

            int percent = ((100 * i) / rowCount);

            this.percenta.BeginInvoke(new Action(() => percenta.Text = percent.ToString()+"%"));
        }
        MessageBox.Show("Súbor načítaný");

    }

正如zou在上面看到的那样,这个错误发生在线路上。正是在这里:“Excel”。 谢谢你的建议。

【问题讨论】:

  • reflexTime 之后的函数声明中缺少()
  • 哦,我太瞎了。谢谢你:)
  • @TimCastelijns 你为什么不发布答案?你活该。
  • @Anar 我不是 C# 专家。我不确定缺少的括号是问题的根源,但我知道它们必须在那里,所以我想我会把它作为评论发布
  • @TimCastelijns 您可以随时删除您的答案。祝你好运。

标签: c#


【解决方案1】:

正如建议的那样 tim-castelijns

class LoadReflexTime
{    
   public string[,] reflexTime(){

    //YOUR CODE

    }
}

【讨论】:

  • 我认为你应该明确说明你做了哪些改变以及为什么
  • 好吧,我瞎了,没看到。谢谢
【解决方案2】:

问题在于功能减速:

public string[,] reflexTime{

改成

public string[,] reflexTime(){
                          ^^^^^   

如果您省略括号,则假定您正在创建一个属性,并且您只能在该属性中拥有一个 get 或 set。最后的括号告诉编译器这是一个函数声明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    相关资源
    最近更新 更多