给出像
这样的代码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。
答案 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。