C#中的类名实例化有关问题
C#中的类名实例化问题
比如说一个类名叫LayerBrowserClass,为什么实例化的时候写成LayerBrowser都可以呢
------解决方案--------------------
= =..你在解决方案资源管理器里看到的类名不一定是真正的类名..要打开cs文件看..如果cs文件里写的是LayerBrowserClass.那只能说肯定还存在一个LayerBrowser的类 不过管理器里不是叫LayerBrowser.cs而已.
------解决方案--------------------
不行,类名是LayerBrowserClass的话,实例化时必须用LayerBrowserClass。
LayerBrowserClass aObject = new LayerBrowserClass();
除非你还有其他定义为LayerBrowser的类或者结构。
------解决方案--------------------
一个类名叫LayerBrowserClass,为什么实例化的时候写成LayerBrowser都可以呢
如果LayerBrowser未定义,果断不能够
------解决方案--------------------
有可能是多态
LayerBrowserClass 父类
LayerBrowser 子类
http://www.cnblogs.com/ninetynine/archive/2007/09/06/884998.html
------解决方案--------------------
你在项目中搜索一下 肯定有一个地方定义了LayerBrowser的类或结构
------解决方案--------------------
另一种情况MarshalAsAttribute 也可以被写成MarshAs这是.net本身的机制,你那个估计是继承关系
------解决方案--------------------
我来果断猜一下你的情况:
你是不是创建了一个LayerBrowserClass.cs的类文件?类文件名称和类名是不一样的,类名你得打开这个类文件,然后看public class XXX,这个才是类文件。
一般来说,可能确实大家会选择类文件名和类名一致,但你的情况显然不是这样
------解决方案--------------------
文件名和类名是可以不同的。
比如说一个类名叫LayerBrowserClass,为什么实例化的时候写成LayerBrowser都可以呢
------解决方案--------------------
= =..你在解决方案资源管理器里看到的类名不一定是真正的类名..要打开cs文件看..如果cs文件里写的是LayerBrowserClass.那只能说肯定还存在一个LayerBrowser的类 不过管理器里不是叫LayerBrowser.cs而已.
------解决方案--------------------
不行,类名是LayerBrowserClass的话,实例化时必须用LayerBrowserClass。
LayerBrowserClass aObject = new LayerBrowserClass();
除非你还有其他定义为LayerBrowser的类或者结构。
------解决方案--------------------
一个类名叫LayerBrowserClass,为什么实例化的时候写成LayerBrowser都可以呢
如果LayerBrowser未定义,果断不能够
------解决方案--------------------
有可能是多态
LayerBrowserClass 父类
LayerBrowser 子类
http://www.cnblogs.com/ninetynine/archive/2007/09/06/884998.html
------解决方案--------------------
你在项目中搜索一下 肯定有一个地方定义了LayerBrowser的类或结构
------解决方案--------------------
另一种情况MarshalAsAttribute 也可以被写成MarshAs这是.net本身的机制,你那个估计是继承关系
------解决方案--------------------
我来果断猜一下你的情况:
你是不是创建了一个LayerBrowserClass.cs的类文件?类文件名称和类名是不一样的,类名你得打开这个类文件,然后看public class XXX,这个才是类文件。
一般来说,可能确实大家会选择类文件名和类名一致,但你的情况显然不是这样
------解决方案--------------------
文件名和类名是可以不同的。