Пример #1
0
 /// <summary>
 /// Returns an <see cref="IObjectSpace"/> for the specified type.
 /// </summary>
 /// <param name="type">The type.</param>
 /// <returns></returns>
 public static IObjectSpace ObjectSpaceFor(this IObjectSpaceLink baseObject, Type type)
 {
     if (baseObject.ObjectSpace is NonPersistentObjectSpace nonPersistentObjectSpace)
     {
         return(nonPersistentObjectSpace.AdditionalObjectSpaces.FirstOrDefault(os => os.CanInstantiate(type)));
     }
     return(baseObject.ObjectSpace);
 }
Пример #2
0
        /// <summary>
        /// Returns an <see cref="IObjectSpace" /> for the specified type.
        /// </summary>
        /// <param name="baseObject">The base object.</param>
        /// <param name="type">The type.</param>
        /// <returns>System.Nullable&lt;IObjectSpace&gt;.</returns>
        /// <exception cref="ArgumentNullException">baseObject</exception>
        public static IObjectSpace?ObjectSpaceFor(this IObjectSpaceLink baseObject, Type type)
        {
            _ = baseObject ?? throw new ArgumentNullException(nameof(baseObject));

            if (baseObject.ObjectSpace is NonPersistentObjectSpace nonPersistentObjectSpace)
            {
                return(nonPersistentObjectSpace.AdditionalObjectSpaces.FirstOrDefault(os => os.CanInstantiate(type)));
            }
            return(baseObject.ObjectSpace);
        }
Пример #3
0
        private void DeleteViewVariantAction_Execute(object sender, SimpleActionExecuteEventArgs e)
        {
            IObjectSpaceLink currentLayoutItem = SelectViewVariantAction.SelectedItem.Data as IObjectSpaceLink;

            if (TryLoadViewVariantFromXML(defaultUserSettings))
            {
                IObjectSpace os = currentLayoutItem.ObjectSpace;
                os.Delete(currentLayoutItem);
                os.CommitChanges();
                isDefaultViewSelected = true;
                UpdateActions(null);
            }
        }
Пример #4
0
 /// <summary>
 /// Returns an <see cref="IObjectSpace"/> for the specified type.
 /// </summary>
 /// <typeparam name="T">The type.</typeparam>
 /// <returns></returns>
 public static IObjectSpace ObjectSpaceFor <T>(this IObjectSpaceLink baseObject)
 => baseObject.ObjectSpaceFor(typeof(T));