internal static object Resolve(bool isAsync, AppVar returnedAppVal, ParameterInfo parameterInfo) { var type = parameterInfo.ParameterType; if (type == typeof(void)) { return null; } else if (type == typeof(AppVar)) { return returnedAppVal; } if (isAsync) { return TypeUtility.GetDefault(type); } var func = UserWrapperUtility.FindCreateConstructor(type); if (func != null) { return func(returnedAppVal); } else if (type.IsInterface) { return FriendlyProxyFactory.WrapFriendlyProxyInstance(type, returnedAppVal); } else { return returnedAppVal.Core; } }
/// <summary> /// Determines whether the specified Object instances in target application are the same instance. /// </summary> /// <param name="lhs">The first object to compare. </param> /// <param name="rhs">The second object to compare. </param> /// <returns>is same.</returns> /// <summary> /// 対象プロセス内のインスタンスが同一であるかを判断します。 /// </summary> /// <param name="lhs">比較対象1。</param> /// <param name="rhs">比較対象2。</param> /// <returns>インスタンスが同一であるか。</returns> #else #endif #region Methods public static bool IsNull(AppVar appVar) { if (appVar == null) { throw new ArgumentNullException("appVar"); } return appVar.IsNull; }
public static bool ReferenceEquals(AppVar lhs, AppVar rhs) { if (lhs == null) { throw new ArgumentNullException("lhs"); } if (rhs == null) { throw new ArgumentNullException("rhs"); } return (bool)lhs.App[typeof(object), "ReferenceEquals"](lhs, rhs).Core; }
internal static FriendlyOperation GetFriendlyOperation(AppVar target, string name, Async async, OperationTypeInfo typeInfo) { if (async != null && typeInfo != null) { return target[name, typeInfo, async]; } else if (async != null) { return target[name, async]; } else if (typeInfo != null) { return target[name, typeInfo]; } return target[name]; }
public XamContentPaneDriver(AppVar src) : base(src) { }
public DataWrapperAndAppVarOwner(AppVar appVar) { AppVar = appVar; }
public XamOutlookBarDriver(AppVar src) : base(src) { }
/// <summary> /// 念のためスタックを掘り下げてAddする /// </summary> /// <param name="list">リスト</param> private void AddInLocal(AppVar list) { list["Add"](0); }
public XamDockManagerDriver(AppVar src) : base(src) { }
public XamGridDriver(AppVar src) : base(src) { }
public XamTabItemDriver(AppVar src) : base(src) { }
/// <summary> /// Constructor. /// </summary> /// <param name="appVar">Application variable object for the control.</param> #else /// <summary> /// コンストラクタです。 /// </summary> /// <param name="appVar">アプリケーション内変数。</param> #endif public GcTextBoxDriver(AppVar appVar) : base(appVar) { }
/// <summary> /// Constructor. /// </summary> /// <param name="appVar">Application variable object for the control.</param> #else /// <summary> /// コンストラクタです。 /// </summary> /// <param name="appVar">アプリケーション内変数。</param> #endif public C1FlexGridDriver(AppVar appVar) { AppVar = appVar; WindowsAppExpander.LoadAssembly((WindowsAppFriend)AppVar.App, typeof(C1FlexGridDriver).Assembly); }
internal ControlDriverBase(AppVar appVar) { AppVar = appVar; Initializer.Initialize(App); }
public XamDataTreeDriver(AppVar src) : base(src) { }
/// <summary> /// 非同期操作呼び出し。 /// </summary> /// <param name="operationTypeInfo">操作タイプ情報。(オーバーロードの解決等に使用します。)</param> /// <param name="operation">操作。</param> /// <param name="arguments">引数。</param> /// <returns>戻り値。</returns> internal AppVar Invoke(OperationTypeInfo operationTypeInfo, string operation, object[] arguments) { //完了情報格納バッファ宣言 _completedResult = _operationTalker.SendAndReceive(ProtocolType.AsyncResultVarInitialize, null, string.Empty, new object[] { null }); //第一引数に入れて渡す。 List<object> arg = new List<object>(); arg.Add(_completedResult); arg.AddRange(arguments); //呼び出し。 AppVar returnValue = _operationTalker.SendAndReceive(ProtocolType.AsyncOperation, operationTypeInfo, operation, arg.ToArray()); GC.KeepAlive(_operationTalker); //戻り値格納変数を返す。 return returnValue; }
public XamControlBase(AppVar src) { AppVar = src; Initializer.Init(App); }
public RowCollectionDriver(GcMultiRowDriver multiRow, AppVar src) : base(src) { _multiRow = multiRow; }
/// <summary> /// Enumerate DependencyObject continuing to LogicalTree. /// </summary> /// <param name="start">Start DependencyObject.</param> /// <param name="direction">Run direction.</param> /// <returns>Enumerated DependencyObject.</returns> #else /// <summary> /// LogicalTreeに連なるDependencyObjectを列挙。 /// </summary> /// <param name="start">列挙を開始するDependencyObject。</param> /// <param name="direction">走査方向。</param> /// <returns>列挙されたDependencyObject。</returns> #endif public static IWPFDependencyObjectCollection<DependencyObject> LogicalTree(AppVar start, TreeRunDirection direction = TreeRunDirection.Descendants) { var app = (WindowsAppFriend)start.App; WPFStandardControls_3.Injection(app); return new WPFDependencyObjectCollection<DependencyObject>(app[typeof(TreeUtilityInTarget), "LogicalTree"](start, direction)); }
public XamValueEditorDriver(AppVar core) : base(core) { }
public XamApplicationMenu2010ItemDriver(AppVar src) : base(src) { }
internal static bool IsNull(AppVar appVar) { return (bool)appVar.App[typeof(object), "ReferenceEquals"](null, appVar).Core; }
public GcMultiRowDriver(AppVar src) : base(src) { }
public XamGridCellDriver(XamGridDriver grid, AppVar cellData) : base((AppVar)cellData.Dynamic().Control) { Grid = grid; CellData = cellData; }
public XamComboEditorDriver(AppVar core) : base(core) { }
public DataWrapper(AppVar a) { AppVar = a; }
public XamCalendarDriver(AppVar src) : base(src) { }
public XamApplicationMenuDriver(AppVar src) : base(src) { }
public XamToolMenuItemDriver(AppVar src) : base(src) { }
public XamDataGridCellDriver(XamDataGridDriver grid, AppVar cell, AppVar ctrl) : base(ctrl) { Grid = grid; Cell = cell; }