annotate Source/Mapping/TrimmableAttribute.cs @ 4:f757da6161a1

!bug 100 + 2h fixed gregression
author cin
date Sun, 24 Aug 2014 17:57:42 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Diagnostics.CodeAnalysis;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using BLToolkit.Common;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 namespace BLToolkit.Mapping
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 [AttributeUsage(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 AttributeTargets.Property | AttributeTargets.Field |
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 AttributeTargets.Class | AttributeTargets.Interface)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 public sealed class TrimmableAttribute : Attribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public TrimmableAttribute()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 _isTrimmable = true;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 public TrimmableAttribute(bool isTrimmable)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 _isTrimmable = isTrimmable;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 private readonly bool _isTrimmable;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 public bool IsTrimmable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 get { return _isTrimmable; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 private static TrimmableAttribute GetDefaultTrimmableAttribute()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 return Common.Configuration.TrimOnMapping ? Yes : No;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 public static readonly TrimmableAttribute Yes = new TrimmableAttribute(true);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 public static readonly TrimmableAttribute No = new TrimmableAttribute(false);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 [SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 public static readonly TrimmableAttribute Default = GetDefaultTrimmableAttribute();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 }