Exemple #1
0
        /// <summary>
        /// Get value from <see cref="IExtendableEntity.ExtensionInfo"/>.
        /// </summary>
        /// <typeparam name="T">Value type.</typeparam>
        /// <param name="entity">Entity.</param>
        /// <param name="key">Key.</param>
        /// <returns>Value.</returns>
        public static T GetValue <T>(this IExtendableEntity entity, string key)
        {
            var info = entity.GetExtInfo(false);

            if (info == null)
            {
                return(default);
        /// <summary>
        /// Get value from <see cref="IExtendableEntity.ExtensionInfo"/>.
        /// </summary>
        /// <typeparam name="T">Value type.</typeparam>
        /// <param name="entity">Entity.</param>
        /// <param name="key">Key.</param>
        /// <returns>Value.</returns>
        public static T GetValue <T>(this IExtendableEntity entity, object key)
        {
            var info = entity.GetExtInfo(false);

            if (info == null)
            {
                return(default(T));
            }

            return((T)(info.TryGetValue(key) ?? default(T)));
        }
 /// <summary>
 /// Add value into <see cref="IExtendableEntity.ExtensionInfo"/>.
 /// </summary>
 /// <param name="entity">Entity.</param>
 /// <param name="key">Key.</param>
 /// <param name="value">Value.</param>
 public static void AddValue(this IExtendableEntity entity, object key, object value)
 {
     entity.GetExtInfo(true)[key] = value;
 }