Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用另一个c类中的类#_C#_Class_Using - Fatal编程技术网

C# 使用另一个c类中的类#

C# 使用另一个c类中的类#,c#,class,using,C#,Class,Using,form1.cs上的c#代码有问题: using sonep = session.Broker; using maind = ClassLibrary1.Personn; sonep boi = new sonep(); public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sen

form1.cs上的c#代码有问题:

using sonep = session.Broker;
using maind = ClassLibrary1.Personn;

sonep boi = new sonep();

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        maind p = new maind();
        p.Nom = txtnom.Text;
        p.Prenom = txtprenom.Text;
        boi.Insert(p);            
    }
}
我找到了这个,但没有帮到我:


您不能放置
sonep boi=new sonep()类范围之外的任何位置。您正在尝试创建一个名为
boi
的类型为
sonep
的对象

应该是这样的:

private void Form1_Load(object sender, EventArgs e)
{
    maind p = new maind();
    p.Nom = txtnom.Text;
    p.Prenom = txtprenom.Text;
    sonep boi = new sonep();
    boi.Insert(p);
}

文件顶部的代码:

using sonep = session.Broker;

using maind = ClassLibrary1.Personn;

sonep boi = new sonep();
有一些问题。类范围之外的空间是您将使用
指令定义
,作为“导入”要在此类中使用的名称空间的方式。您永远不会在类的作用域之外实例化类。通常,使用
指令将从以下两种方式中选择一种:

using sonep = session.Broker; //this creates an alias for the namespace
using ClassLibrary1.Personn; //This just imports the namespace as is
稍后,在类的作用域内,您将实例化类的实例:

private void Form1_Load(object sender, EventArgs e)
{
    sonep boi = new sonep(); //Instantiate like this
    maind p = new maind(); //You already Instantiate an object here
    p.Nom = txtnom.Text;
    p.Prenom = txtprenom.Text;
    boi.Insert(p);
}
这个

建议您尝试创建类型为
sonep
的新对象。另一个例子是

MyObject myObj = new MyObject();
但这可能是任何事情;例如,如果你有一个苹果对象,它有直径和颜色,你可以像这样实例化它

Apple myApple = new Apple(5, "red");
然而

using sonep = session.Broker;
建议您尝试使用该指令创建别名。比如说,

using Project = MyNamespace.MyCompany.Project;  
private void Form1_Load(object sender, EventArgs e)
{
    sonep boi = new sonep();
    ...
}
如果你有很长的名字,这项技术很有用,因为你可以这样做

Project.MyClass mc = new Project.MyClass();
而不是必须这样做

MyNamespace.MyCompany.Project.MyClass mc = new MyNamespace.MyCompany.Project.MyClass();
如果您试图实例化类型为
sonep
的新对象,则必须在类中进行实例化。比如说,

using Project = MyNamespace.MyCompany.Project;  
private void Form1_Load(object sender, EventArgs e)
{
    sonep boi = new sonep();
    ...
}

或者,如果您试图为名称空间创建别名,则无法对其进行实例化。

问题出在“boi”上,那么问题出在哪里?您是否收到错误?如果
boi
是一个变量,则不能将其声明在类或方法的范围之外。我实际上不能使用:
使用会话使用sonep=session.Brokerboi.Insert时(p)它不会work@sok为什么不能使用会话使用
?这应该是有效的C#,前提是您的名称空间实际上被称为
会话
(名称空间区分大小写)。我明白您的观点,并且您的解决方案是正确的,但确实可以使用sonep=session.Broker执行
如果
sonep
Session.Broker
namespace中的一个类,则使用sonep=Session.Broker创建别名。更多信息请参见此details@Gareth谢谢,这正是我想说的对不起,我知道,但我在其他问题上有点盲目,只是掩盖了它。我已经编辑了我的帖子。哦,好的!谢谢大家!@sok没问题,我很高兴它现在对你有效