关于C#类的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 13:14:51
public sealed class CMsgManager
{
public CMsgManager();

public static void Destory();
public int ExchangeWindowData(IntPtr handle, NMMsgDef nMsgType, ref TWinExchangeData data);
public static CMsgManager Instance();
}

这个类是什么意思?为什么有3个方法没有主体也能运行呢?

从类的命名和函数的写法上面看...这不是C#.而是在.NET平台上写的VC程序....
VC程序的函数可以声明放在类里面,主体可以写在类外面.但是要这样写:
public static void CMsgManager::Destory()
{
//函数体
}

你再找找.应该能看到函数体的

1.首先,这个类是错的~~~因为说了是sealed类,不可被继承,所以里面的函数和方法不能没有主体
2.其次,没有实例运行的是用static标记的函数~~是静态方法,所有类公用一个对象,且在第一次使用时会隐式自动创建,所以不需要对象的实例就能运行。

这个确实是VC程序,而且是个应该只是头文件,文件后缀名是.h,头文件中一般只有函数的定义,没有具体内容,具体内容在.cpp文件中,这个类是用sealed定义的,它不能继承,不能实例化,只能做静态类使用,比如你想调用 Destory()函数,你只能这样用CMsgManager .Destory();
我VC用的时间也不长,不知道说的对不对,不对的地方请大家指出。