我的C#程序集还是我的代码?
你好,我有这个代码:我的C#程序集还是我的代码?,c#,reference,namespaces,call,.net-assembly,C#,Reference,Namespaces,Call,.net Assembly,你好,我有这个代码: private void button1_Click(object sender, EventArgs e) { if (radioButton1.Checked) { UDP.startflood(textBox1.Text, Convert.ToInt32(textBox3.Text), int.Parse(textBox4.Text), int.Parse(textBox2.Text), int.Pars
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked)
{
UDP.startflood(textBox1.Text, Convert.ToInt32(textBox3.Text), int.Parse(textBox4.Text), int.Parse(textBox2.Text), int.Parse(textBox5.Text));
}
}
我收到错误“名称空间UDP中不存在类型或名称空间名称startflood(是否缺少程序集引用?)
在这里,我使用了UDP.cs的一部分:
public Thread[] Sockets;
public string _Host;
public int _Delay;
public int _Sockets;
public int _Port;
public int _Timeout;
public void startflood(string Host, Int32 Delay, int Socketss, int Port, int Timeout)
{
_Host = Host;
_Delay = Delay;
_Sockets = Socketss;
_Port = Port;
_Timeout = Timeout;
Sockets = new Thread[_Sockets];
for (int i = 0; i < _Sockets; i++)
{
Sockets[i] = new Thread(this.flood);
Sockets[i].IsBackground = true;
Sockets[i].Start();
}
}
public void flood()
{
i have some code here
}
公共线程[]套接字;
公共字符串主机;
公共交通延误;
公共int_插座;
公共国际港口;
公共int_超时;
public void startflood(字符串主机、Int32延迟、int Socketss、int端口、int超时)
{
_主机=主机;
_延迟=延迟;
_插座=插座;
_端口=端口;
_超时=超时;
插座=新螺纹[_插座];
用于(int i=0;i<\u套接字;i++)
{
Sockets[i]=新线程(this.flood);
Sockets[i].IsBackground=true;
Sockets[i].Start();
}
}
公众假期洪水()
{
我这里有一些代码
}
有人能帮我吗?谢谢。您调用的是
startflood
,就好像它是一个静态方法,而事实并非如此
您需要创建UDP
类的实例:
var udp = new UDP();
udp.startflood(textBox1.Text, Convert.ToInt32(textBox3.Text), int.Parse(textBox4.Text), int.Parse(textBox2.Text), int.Parse(textBox5.Text));
仔细阅读错误消息。您正在取消对UDP的引用,因此应该有一个名为UDP的声明成员变量,该变量的类型与此类定义的类型相同。包含startflood的文件顶部是什么?您需要名称空间和类名。
startflood
所在的类的名称是什么?除此之外,您调用方法时没有创建新对象。如果startflood是静态的,则实例化一个新对象或将该方法标记为static
类变量也需要是静态的。@RobertNoack-Yea,可能应该在发布之前查看实现。看起来将其作为实例方法是最好的方法。抢手货