问题描述
我在C#的一个类中定义了一个调用public的结构体的方法,此方法的修饰符也是public。然后在另一个方法中调用方法,结果就提示参数类型比方法的可访问类型低,求解源码如下:classHKLogin{publicHCNetSDK{publicstructNET_DVR_ACTIVATECFG{publicuintdwSize;//结构体大小publicbyte[]sPassword;//初始密码publicbyte[]byRes;//保留,置为0}/*********************************************************Function:NET_DVR_ActivateDeviceDesc:激活设备。Input:sDVRIP[in]设备IP地址wDVRPort[in]设备端口lpActivateCfg[in]激活参数Output:TRUE表示成功,FALSE表示失败。获取错误码调用NET_DVR_GetLastError。Return:TRUE表示成功,FALSE表示失败**********************************************************/[DllImport(@"D:海康威视DLLPreviewDemobinHCNetSDK.dll")]publicstaticboolNET_DVR_ActivateDevice(IntPtrsDVRIP,ushortwDVRPort,NET_DVR_ACTIVATECFGlpActivateCfg);//激活设备。}}
这是其中一个类的定义下面是用另外一个类调用这个方法,代码如下:publicclassClass1{publicboolCamera_Active(IntPtrIPadress,ushortPort,HCNetSDK.NET_DVR_ACTIVATECFGActiveConfig){boolsuccess;success=HCNetSDK.NET_DVR_ActivateDevice(IPadress,Port,ActiveConfig);returnsuccess;}}
解决方案
解决方案二:
全加上public即可
解决方案三:
把HKLogin改成public的类
解决方案四:
HKLogin改成public