コード例 #1
0
        public StringSortComparer(bool isCaseSensitive = false, GetItemTextCallback getItemText = null,
                                  NeedsRefreshCallback needsRefresh = null)
        {
            _isCaseSensitive = isCaseSensitive;
            _getItemText     = getItemText;
            _needsRefresh    = needsRefresh;

            if (_getItemText == null)
            {
                // by default we use item ToString()
                _getItemText = (item) => { return(item.ToString()); };
            }

            if (_needsRefresh == null)
            {
                // by default changes in item don't affect this comparer
                _needsRefresh = (item, propertyName) => { return(false); };
            }
        }
コード例 #2
0
        public StringFilterPredicate(StringFilterMode mode             = StringFilterMode.StartsWith,
                                     bool isCaseSensitive              = false, GetItemTextCallback getItemText = null,
                                     NeedsRefreshCallback needsRefresh = null)
        {
            _mode            = mode;
            _isCaseSensitive = isCaseSensitive;
            _getItemText     = getItemText;
            _needsRefresh    = needsRefresh;

            if (_getItemText == null)
            {
                // by default we use item ToString()
                _getItemText = (item) => { return(item.ToString()); };
            }

            if (_needsRefresh == null)
            {
                // by default changes in item don't affect this predicate
                _needsRefresh = (item, propertyName) => { return(false); };
            }
        }