using System;
namespace CardV5
{
class Tee
{
private static int numOne = 4;
private static int numTwo = 2;
private static int numThree = 22;
public int Value { get; set; }
private int[, ,] m_tData = new int[numOne, numTwo, numThree];
public int TeeData(int IndexOne, int IndexTwo, int IndexThree)
{
get{return m_tData[IndexOne, IndexTwo, IndexThree];}
set{m_tData[IndexOne, IndexTwo, IndexThree] = Value;}
}
}
}
获取并设置为红线。 错误标志:
只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句。
如何解决这个问题?
答案 0 :(得分:2)
你在那里有一个常规方法:public int TeeData(int IndexOne, int IndexTwo, int IndexThree)
。 get
和set
表示法用于属性,而不是方法。
我认为您想要的是一个索引属性 - 只需将parens更改为方括号,然后您将使用this
而不是名称:
public int this[int IndexOne, int IndexTwo, int IndexThree]
{
get{return m_tData[IndexOne, IndexTwo, IndexThree];}
set{m_tData[IndexOne, IndexTwo, IndexThree] = Value;}
}
这样你就可以:
Tee tee = new Tee();
tee[0,0,0] = /*something*/;
答案 1 :(得分:1)
获取并设置应用于属性。在您的情况下,您已经定义了一个方法。 Get \ Set在此上下文中无效
答案 2 :(得分:0)
您可以创建单独的get / set属性:
public int GetTeeData(int IndexOne, int IndexTwo, int IndexThree)
{
return m_tData[IndexOne, IndexTwo, IndexThree];
}
public void GetTeeData(int IndexOne, int IndexTwo, int IndexThree, int value)
{
m_tData[IndexOne, IndexTwo, IndexThree] = value;
}
或使其成为索引器:
public int this[int IndexOne, int IndexTwo, int IndexThree]
{
get{return m_tData[IndexOne, IndexTwo, IndexThree];}
set{m_tData[IndexOne, IndexTwo, IndexThree] = Value;}
}