/// <summary>
 /// Construct: using the implementtation type
 /// </summary>
 /// <param name="type"></param>
 public DeviceInfoAdaptor(ImplType type)
 {
     switch (type)
     {
         case ImplType.GUID:
             _target = new DeviceInfoGuidHelperImpl();
             break;
         case ImplType.NETWORKADAPTOR:
             _target = new DeviceInfoNetworkHelperImpl();
             break;
         case ImplType.KERNELIOCONTROL:
             _target = new DeviceInfoKernalIoControlHelperImpl();
             break;
         default:
             throw new ArgumentException("Implementation type error!");
     }
 }
        /// <summary>
        /// Construct: using the implementtation type
        /// </summary>
        /// <param name="type"></param>
        public DeviceInfoAdaptor(ImplType type)
        {
            switch (type)
            {
            case ImplType.GUID:
                _target = new DeviceInfoGuidHelperImpl();
                break;

            case ImplType.NETWORKADAPTOR:
                _target = new DeviceInfoNetworkHelperImpl();
                break;

            case ImplType.KERNELIOCONTROL:
                _target = new DeviceInfoKernalIoControlHelperImpl();
                break;

            default:
                throw new ArgumentException("Implementation type error!");
            }
        }