1 //----------------------------------------------------------------
2 // <copyright company="Microsoft Corporation">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //----------------------------------------------------------------
7 namespace System.Activities.Presentation
9 using System.Activities.Presentation.Metadata;
10 using System.Activities.Presentation.Model;
12 internal class ActivityDelegateInfo : IActivityDelegateFactory
14 public ActivityDelegateInfo(ModelItem modelItem, string propertyName)
16 this.ModelItem = modelItem;
17 this.PropertyName = propertyName;
18 this.DelegateType = this.ModelItem.Properties[this.PropertyName].PropertyType;
21 public ModelItem ModelItem { get; private set; }
23 public string PropertyName { get; private set; }
25 public Type DelegateType { get; private set; }
27 public EditingContext EditingContext
31 return this.ModelItem.GetEditingContext();
35 public ActivityDelegate Create()
37 ActivityDelegate delegateObject = Activator.CreateInstance(this.DelegateType) as ActivityDelegate;
38 ActivityDelegateMetadata metadata = ActivityDelegateUtilities.GetMetadata(this.DelegateType);
39 ActivityDelegateUtilities.FillDelegate(delegateObject, metadata);
40 return delegateObject;