diff --git a/src/mscorlib/model.xml b/src/mscorlib/model.xml
index ac56d95a88f4..8f5aba01fe19 100644
--- a/src/mscorlib/model.xml
+++ b/src/mscorlib/model.xml
@@ -6352,6 +6352,9 @@
+
+
+
@@ -9526,11 +9529,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/mscorlib/src/System/DateTime.cs b/src/mscorlib/src/System/DateTime.cs
index b2711ca3a20b..91a20768020f 100644
--- a/src/mscorlib/src/System/DateTime.cs
+++ b/src/mscorlib/src/System/DateTime.cs
@@ -55,7 +55,11 @@ namespace System {
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- public struct DateTime : IComparable, IFormattable, IConvertible, ISerializable, IComparable,IEquatable {
+ public struct DateTime : IComparable, IFormattable, IConvertible, IComparable, IEquatable
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
+ {
// Number of 100ns ticks per time unit
private const long TicksPerMillisecond = 10000;
diff --git a/src/mscorlib/src/System/DateTimeOffset.cs b/src/mscorlib/src/System/DateTimeOffset.cs
index 9b755a13a04b..28c115cb2578 100644
--- a/src/mscorlib/src/System/DateTimeOffset.cs
+++ b/src/mscorlib/src/System/DateTimeOffset.cs
@@ -36,9 +36,12 @@ namespace System {
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- public struct DateTimeOffset : IComparable, IFormattable, ISerializable, IDeserializationCallback,
- IComparable, IEquatable {
-
+ public struct DateTimeOffset : IComparable, IFormattable,
+ IComparable, IEquatable
+#if FEATURE_SERIALIZATION
+ , ISerializable, IDeserializationCallback
+#endif
+ {
// Constants
internal const Int64 MaxOffset = TimeSpan.TicksPerHour * 14;
internal const Int64 MinOffset = -MaxOffset;
diff --git a/src/mscorlib/src/System/Decimal.cs b/src/mscorlib/src/System/Decimal.cs
index 4fa0779fb6b3..254b0bc81801 100644
--- a/src/mscorlib/src/System/Decimal.cs
+++ b/src/mscorlib/src/System/Decimal.cs
@@ -61,8 +61,11 @@ namespace System {
#endif
[System.Runtime.InteropServices.ComVisible(true)]
[System.Runtime.Versioning.NonVersionable] // This only applies to field layout
- public struct Decimal : IFormattable, IComparable, IConvertible, IDeserializationCallback
- , IComparable, IEquatable {
+ public struct Decimal : IFormattable, IComparable, IConvertible, IComparable, IEquatable
+#if FEATURE_SERIALIZATION
+ , IDeserializationCallback
+#endif
+ {
// Sign mask for the flags field. A value of zero in this bit indicates a
// positive Decimal value, and a value of one in this bit indicates a
diff --git a/src/mscorlib/src/System/Globalization/TextInfo.cs b/src/mscorlib/src/System/Globalization/TextInfo.cs
index b88318c8bc34..cba9556d30ee 100644
--- a/src/mscorlib/src/System/Globalization/TextInfo.cs
+++ b/src/mscorlib/src/System/Globalization/TextInfo.cs
@@ -31,7 +31,10 @@ namespace System.Globalization {
[Serializable]
#endif
[System.Runtime.InteropServices.ComVisible(true)]
- public class TextInfo : ICloneable, IDeserializationCallback
+ public class TextInfo : ICloneable
+#if FEATURE_SERIALIZATION
+ , IDeserializationCallback
+#endif
{
//--------------------------------------------------------------------//
// Internal Information //
diff --git a/src/mscorlib/src/System/IO/DriveInfo.cs b/src/mscorlib/src/System/IO/DriveInfo.cs
index 07d064b7c77d..a3cacf609a3c 100644
--- a/src/mscorlib/src/System/IO/DriveInfo.cs
+++ b/src/mscorlib/src/System/IO/DriveInfo.cs
@@ -44,7 +44,10 @@ public enum DriveType
[Serializable]
#endif
[ComVisible(true)]
- public sealed class DriveInfo : ISerializable
+ public sealed class DriveInfo
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
private String _name;
diff --git a/src/mscorlib/src/System/IntPtr.cs b/src/mscorlib/src/System/IntPtr.cs
index 0ddea7cf8625..9933ad4fb311 100644
--- a/src/mscorlib/src/System/IntPtr.cs
+++ b/src/mscorlib/src/System/IntPtr.cs
@@ -26,7 +26,10 @@ namespace System {
[Serializable]
#endif
[System.Runtime.InteropServices.ComVisible(true)]
- public struct IntPtr : ISerializable
+ public struct IntPtr
+#if FEATURE_SERIALIZATION
+ : ISerializable
+#endif
{
[SecurityCritical]
unsafe private void* m_value; // The compiler treats void* closest to uint hence explicit casts are required to preserve int behavior
diff --git a/src/mscorlib/src/System/Reflection/AssemblyName.cs b/src/mscorlib/src/System/Reflection/AssemblyName.cs
index 5575af18e522..132db90e3cff 100644
--- a/src/mscorlib/src/System/Reflection/AssemblyName.cs
+++ b/src/mscorlib/src/System/Reflection/AssemblyName.cs
@@ -31,7 +31,10 @@ namespace System.Reflection {
[ClassInterface(ClassInterfaceType.None)]
[ComDefaultInterface(typeof(_AssemblyName))]
[System.Runtime.InteropServices.ComVisible(true)]
- public sealed class AssemblyName : _AssemblyName, ICloneable, ISerializable, IDeserializationCallback
+ public sealed class AssemblyName : _AssemblyName, ICloneable
+#if FEATURE_SERIALIZATION
+ , ISerializable, IDeserializationCallback
+#endif
{
//
// READ ME
diff --git a/src/mscorlib/src/System/Reflection/Missing.cs b/src/mscorlib/src/System/Reflection/Missing.cs
index 9fc6fa239d53..7b539b3938e5 100644
--- a/src/mscorlib/src/System/Reflection/Missing.cs
+++ b/src/mscorlib/src/System/Reflection/Missing.cs
@@ -17,7 +17,10 @@ namespace System.Reflection
[Serializable]
#endif
[System.Runtime.InteropServices.ComVisible(true)]
- public sealed class Missing: ISerializable
+ public sealed class Missing
+#if FEATURE_SERIALIZATION
+ : ISerializable
+#endif
{
public static readonly Missing Value = new Missing();
diff --git a/src/mscorlib/src/System/Reflection/Pointer.cs b/src/mscorlib/src/System/Reflection/Pointer.cs
index fd3b2dac64e3..9008566f4ad7 100644
--- a/src/mscorlib/src/System/Reflection/Pointer.cs
+++ b/src/mscorlib/src/System/Reflection/Pointer.cs
@@ -22,8 +22,12 @@ namespace System.Reflection {
[Serializable]
#endif
[System.Runtime.InteropServices.ComVisible(true)]
- public sealed class Pointer: ISerializable {
- [SecurityCritical]
+ public sealed class Pointer
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
+ {
+ [SecurityCritical]
unsafe private void* _ptr;
private RuntimeType _ptrType;
diff --git a/src/mscorlib/src/System/Runtime/Serialization/IDeserializationCallback.cs b/src/mscorlib/src/System/Runtime/Serialization/IDeserializationCallback.cs
index d13c46f991c7..e2497e5d34fb 100644
--- a/src/mscorlib/src/System/Runtime/Serialization/IDeserializationCallback.cs
+++ b/src/mscorlib/src/System/Runtime/Serialization/IDeserializationCallback.cs
@@ -18,9 +18,6 @@ namespace System.Runtime.Serialization {
// Interface does not need to be marked with the serializable attribute
[System.Runtime.InteropServices.ComVisible(true)]
public interface IDeserializationCallback {
-#if FEATURE_SERIALIZATION
void OnDeserialization(Object sender);
-#endif
-
}
}
diff --git a/src/mscorlib/src/System/Runtime/Serialization/ISerializable.cs b/src/mscorlib/src/System/Runtime/Serialization/ISerializable.cs
index 006b7fd50108..e59fa6504340 100644
--- a/src/mscorlib/src/System/Runtime/Serialization/ISerializable.cs
+++ b/src/mscorlib/src/System/Runtime/Serialization/ISerializable.cs
@@ -22,10 +22,8 @@ namespace System.Runtime.Serialization {
[System.Runtime.InteropServices.ComVisible(true)]
public interface ISerializable {
-#if FEATURE_SERIALIZATION
[System.Security.SecurityCritical] // auto-generated_required
void GetObjectData(SerializationInfo info, StreamingContext context);
-#endif
}
}
diff --git a/src/mscorlib/src/System/Security/PermissionSet.cs b/src/mscorlib/src/System/Security/PermissionSet.cs
index 2d0df2e8e4c1..e36f0752ad30 100644
--- a/src/mscorlib/src/System/Security/PermissionSet.cs
+++ b/src/mscorlib/src/System/Security/PermissionSet.cs
@@ -40,12 +40,15 @@ internal enum SpecialPermissionSetFlag
[StrongNameIdentityPermissionAttribute(SecurityAction.InheritanceDemand, Name = "mscorlib", PublicKey = "0x" + AssemblyRef.EcmaPublicKeyFull)]
#endif
[System.Runtime.InteropServices.ComVisible(true)]
- public class PermissionSet : ISecurityEncodable, ICollection, IStackWalk, IDeserializationCallback
+ public class PermissionSet : ISecurityEncodable, ICollection, IStackWalk
+#if FEATURE_SERIALIZATION
+ , IDeserializationCallback
+#endif
{
- #if _DEBUG
+#if _DEBUG
internal static readonly bool debug;
- #endif
-
+#endif
+
[System.Diagnostics.Conditional( "_DEBUG" )]
private static void DEBUG_WRITE(String str) {
#if _DEBUG
diff --git a/src/mscorlib/src/System/Text/CodePageEncoding.cs b/src/mscorlib/src/System/Text/CodePageEncoding.cs
index d315c3ff2c66..e04ed49fcfa1 100644
--- a/src/mscorlib/src/System/Text/CodePageEncoding.cs
+++ b/src/mscorlib/src/System/Text/CodePageEncoding.cs
@@ -23,7 +23,10 @@ namespace System.Text
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal sealed class CodePageEncoding : ISerializable, IObjectReference
+ internal sealed class CodePageEncoding : IObjectReference
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Temp stuff
[NonSerialized]
@@ -109,7 +112,10 @@ void ISerializable.GetObjectData(SerializationInfo info, StreamingContext contex
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal sealed class Decoder : ISerializable, IObjectReference
+ internal sealed class Decoder : IObjectReference
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Might need this when GetRealObjecting
[NonSerialized]
diff --git a/src/mscorlib/src/System/Text/DecoderNLS.cs b/src/mscorlib/src/System/Text/DecoderNLS.cs
index e766d99c60a3..ad87f9ed266a 100644
--- a/src/mscorlib/src/System/Text/DecoderNLS.cs
+++ b/src/mscorlib/src/System/Text/DecoderNLS.cs
@@ -24,7 +24,10 @@ namespace System.Text
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal class DecoderNLS : Decoder, ISerializable
+ internal class DecoderNLS : Decoder
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Remember our encoding
protected Encoding m_encoding;
diff --git a/src/mscorlib/src/System/Text/EncoderNLS.cs b/src/mscorlib/src/System/Text/EncoderNLS.cs
index 35f83893f44e..6eefaacd70ea 100644
--- a/src/mscorlib/src/System/Text/EncoderNLS.cs
+++ b/src/mscorlib/src/System/Text/EncoderNLS.cs
@@ -24,7 +24,10 @@ namespace System.Text
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal class EncoderNLS : Encoder, ISerializable
+ internal class EncoderNLS : Encoder
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Need a place for the last left over character, most of our encodings use this
internal char charLeftOver;
diff --git a/src/mscorlib/src/System/Text/Encoding.cs b/src/mscorlib/src/System/Text/Encoding.cs
index 300310524a4c..e0fe8834408b 100644
--- a/src/mscorlib/src/System/Text/Encoding.cs
+++ b/src/mscorlib/src/System/Text/Encoding.cs
@@ -1615,7 +1615,10 @@ internal void ThrowCharsOverflow(DecoderNLS decoder, bool nothingDecoded)
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal class DefaultEncoder : Encoder, ISerializable, IObjectReference
+ internal class DefaultEncoder : Encoder, IObjectReference
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
private Encoding m_encoding;
[NonSerialized] private bool m_hasInitializedEncoding;
@@ -1745,7 +1748,10 @@ public unsafe override int GetBytes(char* chars, int charCount,
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal class DefaultDecoder : Decoder, ISerializable, IObjectReference
+ internal class DefaultDecoder : Decoder, IObjectReference
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
private Encoding m_encoding;
[NonSerialized]
diff --git a/src/mscorlib/src/System/Text/ISCIIEncoding.cs b/src/mscorlib/src/System/Text/ISCIIEncoding.cs
index a26018f6cc95..7e73bb70b94c 100644
--- a/src/mscorlib/src/System/Text/ISCIIEncoding.cs
+++ b/src/mscorlib/src/System/Text/ISCIIEncoding.cs
@@ -31,7 +31,10 @@ namespace System.Text
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal class ISCIIEncoding : EncodingNLS, ISerializable
+ internal class ISCIIEncoding : EncodingNLS
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Constants
private const int CodeDefault = 0; // 0x40 Default
diff --git a/src/mscorlib/src/System/Text/Latin1Encoding.cs b/src/mscorlib/src/System/Text/Latin1Encoding.cs
index bf71bf36f751..a623630ef1cb 100644
--- a/src/mscorlib/src/System/Text/Latin1Encoding.cs
+++ b/src/mscorlib/src/System/Text/Latin1Encoding.cs
@@ -22,7 +22,10 @@ namespace System.Text
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal class Latin1Encoding : EncodingNLS, ISerializable
+ internal class Latin1Encoding : EncodingNLS
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// We only use the best-fit table, of which ASCII is a superset for us.
public Latin1Encoding() : base(Encoding.ISO_8859_1)
diff --git a/src/mscorlib/src/System/Text/MLangCodePageEncoding.cs b/src/mscorlib/src/System/Text/MLangCodePageEncoding.cs
index 2ae8c6add40f..747e1084ace7 100644
--- a/src/mscorlib/src/System/Text/MLangCodePageEncoding.cs
+++ b/src/mscorlib/src/System/Text/MLangCodePageEncoding.cs
@@ -25,7 +25,10 @@ namespace System.Text
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal sealed class MLangCodePageEncoding : ISerializable, IObjectReference
+ internal sealed class MLangCodePageEncoding : IObjectReference
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Temp stuff
[NonSerialized]
@@ -111,7 +114,10 @@ void ISerializable.GetObjectData(SerializationInfo info, StreamingContext contex
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal sealed class MLangEncoder : ISerializable, IObjectReference
+ internal sealed class MLangEncoder : IObjectReference
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Might need this when GetRealObjecting
[NonSerialized]
@@ -151,7 +157,10 @@ void ISerializable.GetObjectData(SerializationInfo info, StreamingContext contex
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal sealed class MLangDecoder : ISerializable, IObjectReference
+ internal sealed class MLangDecoder : IObjectReference
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Might need this when GetRealObjecting
[NonSerialized]
diff --git a/src/mscorlib/src/System/Text/StringBuilder.cs b/src/mscorlib/src/System/Text/StringBuilder.cs
index d3e5bcb3127e..c519f1c0b28c 100644
--- a/src/mscorlib/src/System/Text/StringBuilder.cs
+++ b/src/mscorlib/src/System/Text/StringBuilder.cs
@@ -43,7 +43,11 @@ namespace System.Text {
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- public sealed class StringBuilder : ISerializable {
+ public sealed class StringBuilder
+#if FEATURE_SERIALIZATION
+ : ISerializable
+#endif
+ {
// A StringBuilder is internally represented as a linked list of blocks each of which holds
// a chunk of the string. It turns out string as a whole can also be represented as just a chunk,
// so that is what we do.
diff --git a/src/mscorlib/src/System/Text/SurrogateEncoder.cs b/src/mscorlib/src/System/Text/SurrogateEncoder.cs
index 1bbdc7e49f09..f1115c553728 100644
--- a/src/mscorlib/src/System/Text/SurrogateEncoder.cs
+++ b/src/mscorlib/src/System/Text/SurrogateEncoder.cs
@@ -22,7 +22,10 @@ namespace System.Text
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal sealed class SurrogateEncoder : ISerializable, IObjectReference
+ internal sealed class SurrogateEncoder : IObjectReference
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// Might need this when GetRealObjecting
[NonSerialized]
diff --git a/src/mscorlib/src/System/Text/UTF7Encoding.cs b/src/mscorlib/src/System/Text/UTF7Encoding.cs
index 8fed1dea48f5..8e0c07cdc100 100644
--- a/src/mscorlib/src/System/Text/UTF7Encoding.cs
+++ b/src/mscorlib/src/System/Text/UTF7Encoding.cs
@@ -649,9 +649,13 @@ public override int GetMaxCharCount(int byteCount)
#endif
// Of all the amazing things... This MUST be Decoder so that our com name
// for System.Text.Decoder doesn't change
- private class Decoder : DecoderNLS, ISerializable
+ private class Decoder : DecoderNLS
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
- /*private*/ internal int bits;
+ /*private*/
+ internal int bits;
/*private*/ internal int bitCount;
/*private*/ internal bool firstByte;
@@ -717,9 +721,13 @@ internal override bool HasState
#endif
// Of all the amazing things... This MUST be Encoder so that our com name
// for System.Text.Encoder doesn't change
- private class Encoder : EncoderNLS, ISerializable
+ private class Encoder : EncoderNLS
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
- /*private*/ internal int bits;
+ /*private*/
+ internal int bits;
/*private*/ internal int bitCount;
public Encoder(UTF7Encoding encoding) : base(encoding)
diff --git a/src/mscorlib/src/System/Text/UTF8Encoding.cs b/src/mscorlib/src/System/Text/UTF8Encoding.cs
index fc75f9478a02..559e44522338 100644
--- a/src/mscorlib/src/System/Text/UTF8Encoding.cs
+++ b/src/mscorlib/src/System/Text/UTF8Encoding.cs
@@ -2157,7 +2157,10 @@ public override int GetHashCode() {
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal class UTF8Encoder : EncoderNLS, ISerializable
+ internal class UTF8Encoder : EncoderNLS
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// We must save a high surrogate value until the next call, looking
// for a low surrogate value.
@@ -2234,7 +2237,10 @@ internal override bool HasState
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- internal class UTF8Decoder : DecoderNLS, ISerializable
+ internal class UTF8Decoder : DecoderNLS
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
// We'll need to remember the previous information. See the comments around definition
// of FinalByte for details.
diff --git a/src/mscorlib/src/System/Text/UnicodeEncoding.cs b/src/mscorlib/src/System/Text/UnicodeEncoding.cs
index ffb5fa6a55f8..8cc1fcb864c9 100644
--- a/src/mscorlib/src/System/Text/UnicodeEncoding.cs
+++ b/src/mscorlib/src/System/Text/UnicodeEncoding.cs
@@ -1766,7 +1766,10 @@ public override int GetHashCode()
#if FEATURE_SERIALIZATION
[Serializable]
#endif
- private class Decoder : System.Text.DecoderNLS, ISerializable
+ private class Decoder : System.Text.DecoderNLS
+#if FEATURE_SERIALIZATION
+ , ISerializable
+#endif
{
internal int lastByte = -1;
internal char lastChar = '\0';
diff --git a/src/mscorlib/src/System/TimeZoneInfo.cs b/src/mscorlib/src/System/TimeZoneInfo.cs
index 865c9870736a..e84a5fff8a61 100644
--- a/src/mscorlib/src/System/TimeZoneInfo.cs
+++ b/src/mscorlib/src/System/TimeZoneInfo.cs
@@ -55,8 +55,11 @@ internal enum TimeZoneInfoOptions {
#endif
[System.Security.Permissions.HostProtection(MayLeakOnAbort = true)]
[TypeForwardedFrom("System.Core, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089")]
- sealed public class TimeZoneInfo : IEquatable, ISerializable, IDeserializationCallback {
-
+ sealed public class TimeZoneInfo : IEquatable
+#if FEATURE_SERIALIZATION
+ , ISerializable, IDeserializationCallback
+#endif
+ {
// ---- SECTION: members supporting exposed properties -------------*
private String m_id;
private String m_displayName;
@@ -1129,7 +1132,7 @@ static public TimeZoneInfo Utc {
//
// private ctor
//
-#if FEATURE_WIN32_REGISTRY
+#if FEATURE_WIN32_REGISTRY
[System.Security.SecurityCritical] // auto-generated
private TimeZoneInfo(Win32Native.TimeZoneInformation zone, Boolean dstDisabled) {
@@ -4459,7 +4462,11 @@ static private void ValidateTimeZoneInfo(
#endif
[System.Security.Permissions.HostProtection(MayLeakOnAbort = true)]
[TypeForwardedFrom("System.Core, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089")]
- sealed public class AdjustmentRule : IEquatable, ISerializable, IDeserializationCallback {
+ sealed public class AdjustmentRule : IEquatable
+#if FEATURE_SERIALIZATION
+ , ISerializable, IDeserializationCallback
+#endif
+ {
// ---- SECTION: members supporting exposed properties -------------*
private DateTime m_dateStart;
@@ -4770,8 +4777,11 @@ void ISerializable.GetObjectData(SerializationInfo info, StreamingContext contex
#endif
[System.Security.Permissions.HostProtection(MayLeakOnAbort = true)]
[TypeForwardedFrom("System.Core, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089")]
- public struct TransitionTime : IEquatable, ISerializable, IDeserializationCallback {
-
+ public struct TransitionTime : IEquatable
+#if FEATURE_SERIALIZATION
+ , ISerializable, IDeserializationCallback
+#endif
+ {
// ---- SECTION: members supporting exposed properties -------------*
private DateTime m_timeOfDay;
private byte m_month;
diff --git a/src/mscorlib/src/System/UIntPtr.cs b/src/mscorlib/src/System/UIntPtr.cs
index 623aed7763e3..fdeff3d6f08a 100644
--- a/src/mscorlib/src/System/UIntPtr.cs
+++ b/src/mscorlib/src/System/UIntPtr.cs
@@ -24,7 +24,10 @@ namespace System {
#endif
[CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(true)]
- public struct UIntPtr : ISerializable
+ public struct UIntPtr
+#if FEATURE_SERIALIZATION
+ : ISerializable
+#endif
{
[SecurityCritical]
unsafe private void* m_value;