ClrPlus.Scripting.MsBuild.Packaging.ProjectPlus.ConditionCreate C# (CSharp) Method

ConditionCreate() public method

public ConditionCreate ( ) : string>.IDictionary
return string>.IDictionary
        public IDictionary<string, string> ConditionCreate()
        {
            #if false
            var dic = parent.Conditions2;
            if (dic == null) {
                Event<Verbose>.Raise("", "ConditionCreate");
                var list = parent.Conditions;

                dic = parent.Conditions2 = new DelegateDictionary<string, string>(
                () => list,
                key => key,
                (s, c) => {
                    if(!list.Contains(s)) {
                        list.Add(s);
                    }
                },
                list.Remove,
                list.Clear);
            }

            return dic;

            #else
            var list = Conditions;
            return new DelegateDictionary<string, string>(
                () => list,
                key => {
                    if(!list.Contains(key)) {
                        list.Add(key);
                    }
                    return key;
                },
                (s, c) => {
                    if(!list.Contains(s)) {
                        list.Add(s);
                    }
                },
                list.Remove,
                list.Clear);
            #endif
        }