[amd64/tramp] hide interpreter specific trampoline behind ifdef
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / System.Activities.Presentation / System / Activities / Presentation / Expressions / ExpressionMorphHelperAttribute.cs
1 //----------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation.  All rights reserved.
3 //----------------------------------------------------------------
4
5 namespace System.Activities.Presentation.Expressions
6 {
7     using System.Runtime;
8     using System.Diagnostics.CodeAnalysis;
9     using System.Globalization;
10
11     [Fx.Tag.XamlVisible(false)]
12     [AttributeUsage(AttributeTargets.Class)]
13     public sealed class ExpressionMorphHelperAttribute : Attribute
14     {
15         Type helperType;
16
17         public ExpressionMorphHelperAttribute(Type expressionMorphHelperType)
18         {
19             if (typeof(ExpressionMorphHelper).IsAssignableFrom(expressionMorphHelperType))
20             {
21                 this.helperType = expressionMorphHelperType;
22             }
23             else
24             {                
25                 throw FxTrace.Exception.AsError(new ArgumentException(string.Format(CultureInfo.CurrentUICulture, 
26                     SR.InvalidExpressionMorphHelperType, expressionMorphHelperType.FullName, typeof(ExpressionMorphHelper).FullName)));
27             }
28         }
29         
30         public Type ExpressionMorphHelperType
31         {
32             get
33             {
34                 return this.helperType;
35             }
36         }
37     }
38 }