在 ASP.NET 中,拥有 MasterPage 并使用 C#,我可以使用ContentPlaceHolder
或不使用new
关键字,并且此类的方法和属性的数量是相同的。
即,两者
ContentPlaceHolder ctph;
和
ContentPlaceHolder ctph = new ContenPlanceHolder();
具有相同的方法和属性。我不明白为什么我可以在ctph
没有 new 关键字的情况下使用该变量。
在 ASP.NET 中,拥有 MasterPage 并使用 C#,我可以使用ContentPlaceHolder
或不使用new
关键字,并且此类的方法和属性的数量是相同的。
即,两者
ContentPlaceHolder ctph;
和
ContentPlaceHolder ctph = new ContenPlanceHolder();
具有相同的方法和属性。我不明白为什么我可以在ctph
没有 new 关键字的情况下使用该变量。
ContentPlaceHolder ctph;
ctph
有价值default(ContentPlaceHolder)
。对于引用类型,这将是null
. 对于值类型,这将是一个所有字段默认初始化的有效对象。
ContentPlaceHolder
是一个引用类型,所以,当你说:
具有相同的方法和属性。
嗯,是的,因为这些是由type定义的。您是通过 Intellisense 确定这一点吗?嗯……不要。尝试调用一个方法,看看会发生什么。
是的,但你可以在运行时做到这一点吗?
Intellisense(拼写?)是一个纯粹的编译时构造,它不知道您的第一个示例将在运行时为空并引发异常。它只是列出了基于元数据的方法和属性等。