/// <summary>
 /// Initializes a new instance of the <see cref="OpcServerDescription"/> class.
 /// </summary>
 /// <param name="host">The OPC server host.</param>
 /// <param name="clsid">The OPC server class identifier.</param>
 /// <param name="progId">The OPC server programmatic identifier.</param>
 /// <param name="userType">The user type information.</param>
 public OpcServerDescription(string host, Guid clsid, string progId, string userType) : this(host, clsid)
 {
     ProgId   = progId;
     UserType = userType;
     VendorIndependentProgId = string.Empty;
     Categories = new OpcServerCategory[0];
     Uri        = UrlBuilder.Build(progId, host);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OpcServerDescription"/> class.
 /// </summary>
 /// <param name="host">The OPC server host.</param>
 /// <param name="progId">The OPC server programmatic identifier.</param>
 public OpcServerDescription(string host, string progId)
 {
     Host   = host ?? "localhost";
     ProgId = progId;
     Uri    = UrlBuilder.Build(progId, host);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OpcServerDescription"/> class.
 /// </summary>
 /// <param name="host">The OPC server host.</param>
 /// <param name="clsid">The OPC server class identifier.</param>
 public OpcServerDescription(string host, Guid clsid)
 {
     Host  = host ?? "localhost";
     CLSID = clsid;
     Uri   = UrlBuilder.Build(clsid, host);
 }