C#构造函数引用

C#构造函数引用,c#,C#,给定代码 public class classname { public classname() { type variablename = new type(); } public typeb variablename {get; private set;} } 有两个不同类型的变量称为variablename 创建新对象类型classname时,属性object.variablename是否返回类型为或类型为B的对象 引用如何与构造函数一起工

给定代码

public class classname
{
    public classname()
    {
        type variablename = new type();
    }
    public typeb variablename {get; private set;}
}
有两个不同类型的变量称为
variablename

创建新对象类型classname时,属性object.variablename是否返回类型为或类型为B的对象

引用如何与构造函数一起工作?如果要检索类型B variablename与类型variablename,如何检索

更新: 上面的小代码编辑,将变量访问更改为public

创建新对象类型classname时,属性object.variablename是否返回类型为或类型为B的对象

您必须首先使
typeb variablename
在类外可访问。之后,访问object.variablename将访问类型为
typeb
的属性

引用如何与构造函数一起工作?如果要检索类型B variablename与类型variablename,如何检索

代码

type variablename = new type(); // Semicolon was missing
typeb variablename {get; private set;}
仅在构造函数的范围内定义。它在外面是完全不可接近的

代码

type variablename = new type(); // Semicolon was missing
typeb variablename {get; private set;}
是该类的私有财产。类中除构造函数之外的任何位置,
variablename
都将引用此属性

请注意,您没有初始化此属性,因此它将具有其默认值(对于对象类型为null)

如果要在类之外公开
variablename
,或向派生类公开,则需要使用访问修饰符来表示,例如

public typeb variablename {get; private set;}
如果将构造函数更改为

public classname()
{
    variablename = new type();
}

如果可以将
type
分配给
typeb
,它将初始化您的属性。瞧。

我要冒险去投这一票。对于初学者来说,这似乎是一个合理的问题。为了清晰起见,我还需要编辑问题。为了将来的参考,我可以搜索哪些关键字来找到类似问题的答案?您的核心问题是可变范围。搜索
变量范围c#
会在谷歌上找到一些不错的结果。