File: System\Activities\ActivityWithResult.cs
Project: ndp\cdf\src\NetFx40\System.Activities\System.Activities.csproj (System.Activities)
//-----------------------------------------------------------------------------
// 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;
            }
        }
    }
}