示例#1
0
        public static TTarget GetValueConnectedTry <TSource, TTarget>(this IReadOnlyDecoration sourceDecoration, DecorationKey <TSource> sourceDecorationKey,
                                                                      Func <TSource, TTarget> transformer, out bool found)
        {
            TTarget targetValue;

            found = sourceDecoration.TryGetValueConnected(sourceDecorationKey, transformer, out targetValue);
            return(targetValue);
        }
示例#2
0
        public static bool TryGetValueByType <T>(this IReadOnlyDecoration decoration, out T value)
        {
            object _value;
            bool   found = decoration.TryGetValueTypelessByType <T>(out _value);

            value = found ? (T)_value : default(T);
            return(found);
        }
示例#3
0
        public static bool TryGetValueConnected <TSource, TTarget>(this IReadOnlyDecoration sourceDecoration, DecorationKey <TSource> sourceDecorationKey,
                                                                   Func <TSource, TTarget> transformer, out TTarget targetValue)
        {
            TSource sourceValue;
            bool    found = sourceDecoration.TryGetValue(sourceDecorationKey, out sourceValue);

            targetValue = found ? transformer(sourceValue) : default(TTarget);
            return(found);
        }
示例#4
0
        public static T GetValueByType <T>(this IReadOnlyDecoration decoration)
        {
            T value;

            if (decoration.TryGetValueByType <T>(out value))
            {
                return(value);
            }
            else
            {
                throw new KeyNotFoundException();
            }
        }
示例#5
0
        public static T GetValueOrDefaultByType <T>(this IReadOnlyDecoration decoration)
        {
            T value;

            if (decoration.TryGetValueByType <T>(out value))
            {
                return(value);
            }
            else
            {
                return(default(T));
            }
        }
示例#6
0
        public static T GetValue <T>(this IReadOnlyDecoration decoration, IDecorationKey <T> key)
        {
            T value;

            if (decoration.TryGetValue(key, out value))
            {
                return(value);
            }
            else
            {
                throw new KeyNotFoundException();
            }
        }
示例#7
0
        public static T GetValueOrDefault <T>(this IReadOnlyDecoration decoration, IDecorationKey <T> key)
        {
            T value;

            if (decoration.TryGetValue(key, out value))
            {
                return(value);
            }
            else
            {
                return(default(T));
            }
        }
 public DecorConnector(IReadOnlyDecoration decoration)
 {
     this.decoration = decoration;
 }
示例#9
0
 public DecorConnector(IReadOnlyDecoration decoration)
 {
     this.decoration = decoration;
 }
示例#10
0
 public static DecorConnector ToForms(this IReadOnlyDecoration decoration)
 {
     return(new DecorConnector(decoration));
 }
示例#11
0
 public DecorationComposer(IReadOnlyDecoration primaryDecoration, IReadOnlyDecoration secondaryDecoration)
 {
     this.primaryDecoration   = primaryDecoration;
     this.secondaryDecoration = secondaryDecoration;
 }
示例#12
0
 public static IReadOnlyDecoration Compose(this IReadOnlyDecoration primaryDecoration, IReadOnlyDecoration secondaryDecoration)
 {
     return(new DecorationComposer(primaryDecoration, secondaryDecoration));
 }
示例#13
0
 public static bool TryGetValueTypelessByType <T>(this IReadOnlyDecoration decoration, out object value)
 {
     return(decoration.TryGetValueTypeless(typeof(T), out value));
 }
示例#14
0
 public static bool ContainsKeyByType <T>(this IReadOnlyDecoration decoration)
 {
     return(decoration.ContainsKey(typeof(T)));
 }
示例#15
0
 public static DecorConnector ToSilverlight(this IReadOnlyDecoration decoration)
 {
     return(new DecorConnector(decoration));
 }