【发布时间】:2012-06-21 16:41:30
【问题描述】:
不知道为什么会被否决,我只是需要帮助。我已经为此苦苦挣扎了几个小时,我快要完成了,如果你不喜欢这篇文章,请继续前进,不要投反对票,这样没人能看到它!
好的,我已经在谷歌上搜索并阅读了类似这样的答案和问题,但是对于我遇到的这些问题中的任何一个,我都没有找到我可以理解的解释,我希望这里的人可以提供帮助!
Error1: 'XDevkit.IXboxDebugTarget.GetMemory(uint, uint, byte[], out uint)' 的最佳重载方法匹配有一些无效参数
基本代码:
XDevkit.IXboxDebugTarget.GetMemory(uint, uint, byte[], out uint)
我有什么新:
uint num1;
uint num2;
uint num4;
num1 = Convert.ToUInt32(textBox2.Text);
num2 = Convert.ToUInt32(textBox3.Text);
num4 = Convert.ToUInt32(textBox5.Text);
byte[] num3;
num3 = BitConverter.GetBytes(Convert.ToInt32(textBox3.Text));
IXboxManager xbm = new XboxManager();
IXboxConsole xbc = xbm.OpenConsole("textBox1.Text"); //Or Console Name in ""
IXboxDebugTarget xdt = xbc.DebugTarget;
xdt.ConnectAsDebugger("XeDevMemPatcher", XboxDebugConnectFlags.Force); // this isn't always needed
IXboxDebugTarget.GetMemory(num1, num2, num3[], out num4);
}
使用此代码编辑当前错误
1) 当前上下文中不存在名称“Encoding”
2) 'XDevkit.IXboxDebugTarget.GetMemory(uint, uint, byte[], out uint)' 的最佳重载方法匹配有一些无效的 2222 参数
3) 参数 3:无法从 'byte' 转换为 'byte[]'
好的,所以这显然非常令人困惑,因为我一个人做的任何事情或基于答案都不起作用,所以我只是将整个源代码发布在这里供大家查看,希望这会有所帮助: 抱歉,我无法发布 GUI 的图片,因为我没有足够的 REP,但希望这应该没问题:
使用系统; 使用 System.Windows.Forms;
命名空间 XDevkit { 公共部分类Form1:表格 { 公共表格1() { 初始化组件(); }
private void button1_Click(object sender, EventArgs e)
{
IXboxManager xbm = new XboxManager();
//IXboxConsole xbc = xbm.OpenConsole(xbm.DefaultConsole); // dev
IXboxConsole xbc = xbm.OpenConsole("textBox1.Text");
IXboxDebugTarget xdt = xbc.DebugTarget;
xdt.ConnectAsDebugger("XeDevMemPatcher", XboxDebugConnectFlags.Force);
}
private void button2_Click(object sender, EventArgs e)
{
uint num1 = Convert.ToUInt32(textBox2.Text);
uint num2 = Convert.ToUInt32(textBox3.Text);
byte[] num3 = Encoding.ASCII.GetBytes(textBox4.Text);
uint num4 = Convert.ToUInt32(textBox5.Text);
int num5 = Convert.ToInt32(textBox4.Text);
// ...
if (num3.Length > 1)
{
IXboxManager xbm = new XboxManager();
IXboxConsole xbc = xbm.OpenConsole("textBox1.Text");
IXboxDebugTarget xdt = xbc.DebugTarget;
xdt.ConnectAsDebugger("XeDevMemPatcher", XboxDebugConnectFlags.Force);
IXboxDebugTarget.GetMemory(num1, num2, num3[1], out num4);
}
private void button3_Click(object sender, EventArgs e)
{
string a;
a = "textBox6.Text";
IXboxManager xbm = new XboxManager();
IXboxConsole xbc = xbm.OpenConsole(textBox1.Text);
IXboxConsole.ScreenShot(a)
}
}
}
【问题讨论】:
-
错误信息很清楚:
num3是一个字节,那么num3[1]是什么意思呢?你期望结果是什么? -
我知道,但是如果您查看基本代码,它需要一个字节和索引器
-
啊,我明白了。它实际上需要一个字节数组,而您传递的是一个字节。你确定你正确地调用了这个方法吗?比如你给
num4赋值,但是num4是out参数,保证会被方法覆盖。 -
不,我不确定它是否被正确调用,我改用 Dennis Traub 的解决方案来调用它们,但是应该覆盖 num4
标签: c# byte syntax-error object-reference invalid-argument