public static IEnumerable <T> GetUniqueColumnValues <T>(ICursor cursor, string columnName) { IDataStatistics dataStatistics = null; try { //获取null值 T nullValue = default(T); dataStatistics = new DataStatisticsClass(); dataStatistics.Cursor = cursor; dataStatistics.Field = columnName; IEnumerator enumerator = dataStatistics.UniqueValues; enumerator.Reset(); while (enumerator.MoveNext()) { object currValue = enumerator.Current; if (currValue == DBNull.Value || currValue == null) { yield return(nullValue); } else { yield return((T)Convert.ChangeType(currValue, typeof(T))); } } } finally { AOUtil.ReleaseComObjectAllRefs(dataStatistics); } }
public override void OnClick() { ILayer pLayer = (ILayer)_mapControl.CustomProperty; if (pLayer is IGroupLayer) { //获取GroupLayer中的图层 var subLayers = LayerUtil.GetFeatureLayersFromGroupLayer(pLayer as IGroupLayer); foreach (var subLayer in subLayers) { _mapControl.Map.DeleteLayer(subLayer); AOUtil.ReleaseComObjectAllRefs(subLayer); } } _mapControl.Map.DeleteLayer(pLayer); _mapControl.ActiveView.Refresh(); AOUtil.ReleaseComObjectAllRefs(pLayer); }
public override void OnClick() { _mapControl.Map.ClearLayers(); AOUtil.ReleaseComObjectAllRefs(_mapControl.Map.Layers); _mapControl.ActiveView.Refresh(); }
private void SetValues(String identifier, String identifierHash, String identifierHashAlgorithm, String qualifier) { if (identifier == null || "".Equals(identifier)) { throw new ArgumentNullException("El identificador de politica no puede ser nulo ni vacio"); } this.policyIdentifier = identifier; if (identifierHash != null && (!"0".Equals(identifierHash)) && (identifierHashAlgorithm == null || "".Equals(identifierHashAlgorithm))) { throw new ArgumentNullException("Si se indica la huella digital del identificador de politica es obligatorio indicar tambien el algoritmo"); } if (identifierHash == null) { try { //this.policyIdentifierHash = System.Convert.ToBase64String(Digester.Digest(UrlReader.ReadUri(new Uri(identifier)), "SHA-512")); //MODIFICACION DAL -> NO DEBERÍA SER "new Uri(qualifier)" EN VEZ DE "new Uri(identifier)" ???? if (qualifier != null) { this.policyIdentifierHash = System.Convert.ToBase64String(Digester.Digest(UrlReader.ReadUri(new Uri(qualifier)), "SHA-512")); this.policyIdentifierHashAlgorithm = "SHA-512"; } } catch (Exception e) { throw new ArgumentNullException("Si no se especifica la huella digital de la politica es necesario que el identificador sea una URL accesible universalmente: " + e, e); } } else { if ("0".Equals(identifierHash)) { this.policyIdentifierHash = null; } else { if (!AOUtil.IsBase64(new System.Text.UTF8Encoding().GetBytes(identifierHash))) { throw new ArgumentNullException("La huella digital de la politica debe estar en formato Base64"); } try { this.policyIdentifierHashAlgorithm = AOSignConstants.GetDigestAlgorithmName(identifierHashAlgorithm); } catch (Exception e) { throw new ArgumentNullException("El algoritmo de huella digital no esta soportado: " + identifierHashAlgorithm, e); } this.policyIdentifierHash = identifierHash; } } if (qualifier != null && (!"".Equals(qualifier))) { try { this.policyQualifier = new Uri(qualifier); } catch (Exception e) { throw new ArgumentNullException("El calificador de la politica debe ser una URL valida", e); } } }