//----------------------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System.Runtime.Serialization; public abstract class ActivityWithResult : Activity { internal ActivityWithResult() : base() { } public Type ResultType { get { return this.InternalResultType; } } [IgnoreDataMember] // this member is repeated by all subclasses, which we control public OutArgument Result { get { return this.ResultCore; } set { this.ResultCore = value; } } internal abstract Type InternalResultType { get; } internal abstract OutArgument ResultCore { get; set; } internal RuntimeArgument ResultRuntimeArgument { get; set; } internal abstract object InternalExecuteInResolutionContextUntyped(CodeActivityContext resolutionContext); internal override bool IsActivityWithResult { get { return true; } } } }