Beispiel #1
0
        public BindingManagerBase this [object dataSource, string dataMember] {
            get {
                if (dataSource == null)
                {
                    throw new ArgumentNullException("dataSource");
                }
                if (dataMember == null)
                {
                    dataMember = String.Empty;
                }

#if NET_2_0
                ICurrencyManagerProvider cm_provider = dataSource as ICurrencyManagerProvider;
                if (cm_provider != null)
                {
                    if (dataMember.Length == 0)
                    {
                        return(cm_provider.CurrencyManager);
                    }

                    return(cm_provider.GetRelatedCurrencyManager(dataMember));
                }
#endif

                HashKey            key = new HashKey(dataSource, dataMember);
                BindingManagerBase res = managers [key] as BindingManagerBase;

                if (res != null)
                {
                    return(res);
                }

                res = CreateBindingManager(dataSource, dataMember);
                if (res == null)
                {
                    return(null);
                }
                managers [key] = res;
                return(res);
            }
        }