C#超载字节错误

时间:2014-04-20 10:55:22

标签: c#

我正在尝试创建一个支持4个参数的函数,但它不起作用.. 我怎么解决这个问题? 谢谢。

private void Byte(byte a, byte b, uint c, byte d)
{
     PS3.SetMemory(a + b * c, new byte[] { d });
}

Byte(0x00f474e3 + 0x3700 * dataGridView1.CurrentRow.Index, new byte[] { 0x03 });

错误:

Error: No overload for 'Byte' method takes two arguments

3 个答案:

答案 0 :(得分:5)

发送参数时不需要执行计算。

我认为你想这样做:

Byte(0x00f474e3,0x3700 , dataGridView1.CurrentRow.Index , 0x03);

你可以通过wrting asbelow:

简单地避免使用Byte()函数
PS3.SetMemory(0x00f474e3 + 0x3700 * dataGridView1.CurrentRow.Index, 
                                                            new byte[] { 0x03 });

答案 1 :(得分:1)

错误说明了一切。

是。您没有指定cd

0x00f474e3 + 0x3700 * dataGridView1.CurrentRow.Indexa

,而

new byte[] { 0x03 }b,这是错误的。它不期望字节数组而只是字节。

cd怎么样?

所以,我认为你应该这样做:

Byte(0x00f474e3,0x3700,dataGridView1.CurrentRow.Index,0x03);

答案 2 :(得分:1)

您应该按原样传递参数:

Byte(0x00f474e3, 0x3700, dataGridView1.CurrentRow.Index, 0x03);