public override void WriteJson(JsonWriter writer, object untypedValue, JsonSerializer serializer) { if (untypedValue == null) { serializer.Serialize(writer, null); return; } ResolveMode value = (ResolveMode)untypedValue; switch (value) { case ResolveMode.Independent: serializer.Serialize(writer, "independent"); return; case ResolveMode.Shared: serializer.Serialize(writer, "shared"); return; } throw new Exception("Cannot marshal type ResolveMode"); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { try { if (!(value.GetType() == typeof(string))) { return(null); } int param = 0; //Sometimes users can choose not to enter parameter value, in such cases, we make 0 as default. if (parameter != null) { int.TryParse((string)parameter, out param); } ResolveMode _resolve_mode = ResolveMode.AsRegistered; switch (param) { //None case 0: _resolve_mode = ResolveMode.AsRegistered; break; //TargetOnly default: _resolve_mode = ResolveMode.Transient; break; } return(ContainerStore.Singleton.controls.generateView((string)value, mode: _resolve_mode)); } catch (Exception) { return(null); } }
public ResolveLoad(ResolveMode _mode, string _priority_key, string _contract_name, Type _contract_type, Type _contract_parent, Type _concrete_type, TransientCreationLevel _transient_level = TransientCreationLevel.None) : base(_priority_key, _contract_type, _concrete_type, _transient_level) { //Nullables contract_name = _contract_name; contract_parent = _contract_parent; mode = _mode; }
public static async Task <TType> ResolveAsync <TType>(ResolveMode resolveMode = ResolveMode.Global) where TType : class { return(await Task.Factory.StartNew(() => (TType)Container.GetObject(typeof(TType), resolveMode), CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default)); }
public static object Resolve([NotNull] Type targetType, ResolveMode resolveMode = ResolveMode.Global) { if (targetType is null) { throw new ArgumentNullException(nameof(targetType)); } return(Container.GetObject(targetType, resolveMode)); }
protected object GetDependency(Type type, Context context, ResolveMode resolveMode) { if (resolveMode == ResolveMode.Create) { return(context.AutocomposeDependency(type)); } return(context.Resolve(type)); }
public static async Task <object> ResolveAsync([NotNull] Type targetType, ResolveMode resolveMode = ResolveMode.Global) { if (targetType is null) { throw new ArgumentNullException(nameof(targetType)); } return(await Task.Factory.StartNew(() => Container.GetObject(targetType, resolveMode), CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default)); }
public void Inject(object target, Context context) { for (int i = 0; i < _dependencyTypes.Length; i++) { Type dependencyType = _dependencyTypes[i]; ResolveMode resolveMode = _resolveModes[i]; _invokationArguments[i] = GetDependency(dependencyType, context, resolveMode); } _methodInfo.Invoke(target, _invokationArguments); }
/// <summary> /// Copy a region of a multisampled or compressed resource into a non-multisampled or non-compressed resource. /// </summary> /// <param name="dstResource">Destination resource.</param> /// <param name="dstSubresource">A zero-based index that identifies the destination subresource. Use <see cref="ID3D12Resource.CalculateSubResourceIndex(int, int, int, int, int)"/> to calculate the subresource index if the parent resource is complex.</param> /// <param name="dstX">The X coordinate of the left-most edge of the destination region. The width of the destination region is the same as the width of the source rect.</param> /// <param name="dstY">The Y coordinate of the top-most edge of the destination region. The height of the destination region is the same as the height of the source rect.</param> /// <param name="srcResource">Source resource. Must be multisampled or compressed.</param> /// <param name="srcSubresource">A zero-based index that identifies the source subresource.</param> /// <param name="format">A <see cref="Format"/> that specifies how the source and destination resource formats are consolidated.</param> /// <param name="resolveMode">Specifies the operation used to resolve the source samples.</param> public void ResolveSubresourceRegion( ID3D12Resource dstResource, int dstSubresource, int dstX, int dstY, ID3D12Resource srcResource, int srcSubresource, Format format, ResolveMode resolveMode = ResolveMode.Decompress) { ResolveSubresourceRegion_( dstResource, dstSubresource, dstX, dstY, srcResource, srcSubresource, null, format, resolveMode); }
public object GetObject([NotNull] Type type, ResolveMode resolveMode = ResolveMode.Global) { if (type is null) { throw new ArgumentNullException(nameof(type)); } if (!_registeredTypes.ContainsKey(type)) { throw new ArgumentException("Type not registered"); } return(_lifetime.GetObject(type, resolveMode)); }
protected object GetObject(Type type, XStrategy factory, ILifetime lifetime, ResolveMode resolveMode = ResolveMode.Global) { if (factory.OnlyOne) { return(factory.Instance ??= factory.Strategy(lifetime)); } if (resolveMode == ResolveMode.Global) { return(_instanceLifetime.GetOrAdd(type, _ => factory.Strategy(lifetime))); } return(factory.Strategy(lifetime)); }
public void Inject(object target, Context context) { for (int i = 0; i < _dependencyTypes.Length; i++) { Type dependencyType = _dependencyTypes[i]; ResolveMode resolveMode = _resolveModes[i]; _invocationArguments[i] = GetDependency(dependencyType, context, resolveMode); } try { _methodInfo.Invoke(target, _invocationArguments); } catch (TargetInvocationException invocationException) { UnityEngine.Debug.LogException(invocationException.InnerException); } }
public MethodInjection(MethodInfo info) { _methodInfo = info; ResolveMode methodResolveMode = GetResolveMode(_methodInfo); ParameterInfo[] arguments = _methodInfo.GetParameters(); int argumentCount = arguments.Length; _dependencyTypes = new Type[argumentCount]; _invocationArguments = new object[argumentCount]; _resolveModes = new ResolveMode[argumentCount]; for (int i = 0; i < argumentCount; i++) { ParameterInfo argument = arguments[i]; _dependencyTypes[i] = argument.ParameterType; ResolveMode resolveMode = GetResolveMode(argument); if (resolveMode == ResolveMode.Unspecified) { resolveMode = methodResolveMode; } _resolveModes[i] = resolveMode; } }
private bool?_invokeDisplay(string key, object InputViewModel, ResolveMode resolve_mode, bool is_modeless) { bool?_result = null; //If Thread is not STA if (Thread.CurrentThread.GetApartmentState() != ApartmentState.STA) { Thread new_ui_thread = new Thread(() => { IHaleyWindow _hwindow = generateView(key, InputViewModel, resolve_mode); _result = _displayWindow(_hwindow, is_modeless); }); new_ui_thread.SetApartmentState(ApartmentState.STA); new_ui_thread.Start(); new_ui_thread.Join(); } else { IHaleyWindow _hwindow = generateView(key, InputViewModel, resolve_mode); _result = _displayWindow(_hwindow, is_modeless); } return(_result); }
public bool?showDialog <ViewModelType>(ViewModelType InputViewModel = null, ResolveMode resolve_mode = ResolveMode.AsRegistered) where ViewModelType : class, IHaleyWindowVM { string _key = typeof(ViewModelType).ToString(); return(showDialog(_key, InputViewModel, resolve_mode)); }
protected ResolvableNovaMarkUpExtension(PropertyPath path, ResolveMode mode) : base(path) { ResolveMode = mode; }
public override IHaleyControl generateView(string key, object InputViewModel = null, ResolveMode mode = ResolveMode.AsRegistered) { try { //If input view model is not null, then don't try to generate viewmodel. IHaleyControl _view = null; IHaleyControlVM _vm = null; if (InputViewModel != null) { var _mapping_value = getMappingValue(key); _view = _generateView(_mapping_value.view_type); _vm = (IHaleyControlVM)InputViewModel; } else { var _kvp = _generateValuePair(key, mode); _view = _kvp.view; _vm = _kvp.view_model; } _view.DataContext = _vm; return(_view); } catch (Exception ex) { throw ex; } }
public override IHaleyWindow generateView(string key, object InputViewModel = null, ResolveMode mode = ResolveMode.AsRegistered) { try { //If input view model is not null, then don't try to generate viewmodel. IHaleyWindow _view = null; IHaleyWindowVM _vm = null; if (InputViewModel != null) { var _mapping_value = getMappingValue(key); _view = _generateView(_mapping_value.view_type); _vm = (IHaleyWindowVM)InputViewModel; } else { var _kvp = _generateValuePair(key, mode); _view = _kvp.view; _vm = _kvp.view_model; } _view.DataContext = _vm; //Enable Haleyobserver so that when view closes, viewmodel event is triggered. HaleyObserver CustomOP = new HaleyObserver(_view, _vm); CustomOP.subscribe(); return(_view); } catch (Exception ex) { throw ex; } }
protected ResolvableDataContextListener(PropertyPath path, ResolveMode resolveMode) : base(path) { _resolveMode = resolveMode; }
public void show(Enum key, object InputViewModel = null, ResolveMode resolve_mode = ResolveMode.AsRegistered) { string _key = key.getKey(); show(_key, InputViewModel, resolve_mode); }
public void show(string key, object InputViewModel = null, ResolveMode resolve_mode = ResolveMode.AsRegistered) { _invokeDisplay(key, InputViewModel, resolve_mode, is_modeless: true); //This is modeless }
public void show <ViewModelType>(ViewModelType InputViewModel = null, ResolveMode resolve_mode = ResolveMode.AsRegistered) where ViewModelType : class, IHaleyWindowVM { string _key = typeof(ViewModelType).ToString(); show(_key, InputViewModel, resolve_mode); }
public void show <ViewType>(ResolveMode resolve_mode = ResolveMode.AsRegistered) where ViewType : IHaleyWindow { string _key = typeof(ViewType).ToString(); show(_key, null, resolve_mode); }
public bool?showDialog <ViewType>(ResolveMode resolve_mode = ResolveMode.AsRegistered) where ViewType : IHaleyWindow { string _key = typeof(ViewType).ToString(); return(showDialog(_key, null, resolve_mode)); }
public bool?showDialog(string key, object InputViewModel = null, ResolveMode resolve_mode = ResolveMode.AsRegistered) { return(_invokeDisplay(key, InputViewModel, resolve_mode, is_modeless: false)); //This is modal }
public ResolveLoad convert(string contract_name, Type contract_parent, ResolveMode mode) { ResolveLoad _load = new ResolveLoad(mode, this.priority_key, contract_name, this.contract_type, contract_parent, this.concrete_type, this.transient_level); return(_load); }
public bool?showDialog(Enum key, object InputViewModel = null, ResolveMode resolve_mode = ResolveMode.AsRegistered) { string _key = key.getKey(); return(showDialog(_key, InputViewModel, resolve_mode)); }
public static void SetResolveMode(DependencyObject obj, ResolveMode value) { obj.SetValue(ResolveModeProperty, value); }
public ResolveLoad() : base(null, null, null) { mode = ResolveMode.AsRegistered; }
public ContentControlDataContextListener(PropertyPath path, ResolveMode resolveMode, bool appendColon) : base(path, resolveMode) { _appendColon = appendColon; }