C#构造函数引用

时间:2014-08-05 21:03:14

标签: c#

给出像

这样的代码
public class classname
{
    public classname()
    {
        type variablename = new type();
    }
    public typeb variablename {get; private set;}
}

有两个不同类型的variablename变量。

当我创建一个新的对象类型classname时,属性object.variablename是否返回一个类型为object的对象?

引用如何与构造函数一起使用?如果我想检索typeb variablename vs type variablename,我该怎么做?

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

1 个答案:

答案 0 :(得分:2)

  

当我创建一个新的对象类型classname时,属性object.variablename是否返回一个类型为object的对象?

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

  

引用如何与构造函数一起使用?如果我想检索typeb variablename vs type variablename,我该怎么做?

代码

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,它会初始化您的媒体资源。请参阅covariance and contravariance