[reflection] Coop handles icalls in System.Reflection and System.RuntimeTypeHandle...
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / System.Activities.Presentation / System / Activities / Presentation / Base / Interaction / Services / ModelChangeInfo.cs
1 //----------------------------------------------------------------
2 // <copyright company="Microsoft Corporation">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //----------------------------------------------------------------
6
7 namespace System.Activities.Presentation.Services
8 {
9     using System.Activities.Presentation.Model;
10
11     /// <summary>
12     /// Contains data for detailed model change information
13     /// </summary>
14     public abstract class ModelChangeInfo
15     {
16         /// <summary>
17         /// Gets model change type
18         /// </summary>
19         public abstract ModelChangeType ModelChangeType { get; }
20
21         /// <summary>
22         /// Gets modelitem where a model change happens
23         /// </summary>
24         public abstract ModelItem Subject { get; }
25
26         /// <summary>
27         /// Gets property name if it's a property change
28         /// </summary>
29         public abstract string PropertyName { get; }
30
31         /// <summary>
32         /// Gets key model item if it's a dictionary change
33         /// </summary>
34         public abstract ModelItem Key { get; }
35
36         /// <summary>
37         /// Gets old value if it's a property chagne or a dictionary value change
38         /// </summary>
39         public abstract ModelItem OldValue { get; }
40
41         /// <summary>
42         /// Gets object that is been added/removed or the new value if it's a property change
43         /// </summary>
44         public abstract ModelItem Value { get; }
45     }
46 }