[amd64/tramp] hide interpreter specific trampoline behind ifdef
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / Microsoft.Tools.Common / Microsoft / Activities / Presentation / Xaml / AttributeInfo.cs
1 // <copyright>
2 //   Copyright (c) Microsoft Corporation.  All rights reserved.
3 // </copyright>
4
5 namespace Microsoft.Activities.Presentation.Xaml
6 {
7     using System;
8     using System.Collections;
9     using System.Reflection;
10     using System.Xaml.Schema;
11
12     // AttributeInfo is a helper class to provide type specfic info for each Attribute class
13     internal abstract class AttributeInfo<TAttribute> where TAttribute : Attribute
14     {
15         // false if the attribute has additional (mutable) properties that aren't set in the constructor
16         public virtual bool IsComplete
17         {
18             get { return true; }
19         }
20
21         // whether to use argumented-ctor for serialization even when there's default ctor
22         public virtual bool LookupConstructionRequiresArguments
23         {
24             get { return true; }
25         }
26
27         public virtual XamlTypeInvoker Invoker
28         {
29             get { return null; }
30         }
31
32         public abstract ConstructorInfo GetConstructor();
33
34         public abstract ICollection GetConstructorArguments(TAttribute attribute, ref ConstructorInfo constructor);
35     }
36 }