Exemple #1
0
    /// <summary>
    /// Sammelt die Namen der in <paramref name="relationType"/> gesetzten Flags in
    /// <paramref name="list"/>. <paramref name="list"/> wird von der Methode nicht
    /// geleert.
    /// </summary>
    /// <param name="relationType"><see cref="RelationTypes"/>-Objekt oder <c>null</c>.</param>
    /// <param name="list">Eine Liste zum sammeln.</param>
    internal static void CollectValueStrings(RelationTypes?relationType, List <string> list)
    {
        Debug.Assert(list != null);

        if (!relationType.HasValue)
        {
            return;
        }

        RelationTypes value = relationType.Value & RelationTypesConverter.DEFINED_RELATION_TYPES_VALUES;

        for (int i = RelationTypesConverter.RelationTypesMinBit; i <= RelationTypesConverter.RelationTypesMaxBit; i++)
        {
            RelationTypes flag = (RelationTypes)(1 << i);

            if (value.HasFlag(flag))
            {
                list.Add(flag.ToVcfString());
            }
        }
    }