Ejemplo n.º 1
0
    private PropertyNotifier(object source, string?sourceAliase,
                             IPropertyNotifier?parentNotifier,
                             ConcurrentDictionary <PropertyNoticeNamedKey, object>?propertyValues,
                             ConcurrentDictionary <PropertyNoticeNamedKey, Func <object> >?propertyFuncs)
    {
        _propertyValues = propertyValues ?? new ConcurrentDictionary <PropertyNoticeNamedKey, object>();
        _propertyFuncs  = propertyFuncs ?? new ConcurrentDictionary <PropertyNoticeNamedKey, Func <object> >();

        _baseKey = new TypeNamedKey(source.GetType(), sourceAliase);

        Source         = source;
        SourceAliase   = sourceAliase;
        ParentNotifier = parentNotifier;
    }
Ejemplo n.º 2
0
 /// <summary>
 /// 构造一个 <see cref="ShardingProperty"/>。
 /// </summary>
 /// <param name="key">给定的属性键。</param>
 /// <param name="strategy">给定的 <see cref="IShardingStrategy"/>。</param>
 public ShardingProperty(TypeNamedKey key, IShardingStrategy strategy)
 {
     Key      = key;
     Strategy = strategy;
 }
 /// <summary>
 /// 构造一个 <see cref="PropertyNoticeNamedKey{TSource}"/>。
 /// </summary>
 /// <param name="propertyName">给定的属性名称。</param>
 /// <param name="baseKey">给定的 <see cref="TypeNamedKey{TSource}"/> 基础键。</param>
 public PropertyNoticeNamedKey(string propertyName, TypeNamedKey <TSource> baseKey)
     : base(propertyName, baseKey)
 {
     BaseKey = baseKey;
 }