Merge pull request #3224 from ludovic-henry/iolayer-extract-wait-handle
[mono.git] / mcs / class / corlib / System.Reflection / FieldInfo.cs
index ee62a4ec048b683263b1e3011d29b184e94606bd..47021a3ffef65488a8f8281550a145b9d9186b2e 100644 (file)
@@ -38,8 +38,11 @@ namespace System.Reflection {
        [ComDefaultInterfaceAttribute (typeof (_FieldInfo))]
        [Serializable]
        [ClassInterface(ClassInterfaceType.None)]
+#if MOBILE
+       public abstract class FieldInfo : MemberInfo {
+#else
        public abstract class FieldInfo : MemberInfo, _FieldInfo {
-
+#endif
                public abstract FieldAttributes Attributes {get;}
                public abstract RuntimeFieldHandle FieldHandle {get;}
 
@@ -176,17 +179,15 @@ namespace System.Reflection {
                }
 
                [CLSCompliant(false)]
-               [MonoTODO("Not implemented")]
                public virtual object GetValueDirect (TypedReference obj)
                {
-                       throw new NotImplementedException ();
+                       throw new NotSupportedException(Environment.GetResourceString("NotSupported_AbstractNonCLS"));
                }
 
                [CLSCompliant(false)]
-               [MonoTODO("Not implemented")]
                public virtual void SetValueDirect (TypedReference obj, object value)
                {
-                       throw new NotImplementedException ();
+                       throw new NotSupportedException(Environment.GetResourceString("NotSupported_AbstractNonCLS"));
                }
 
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
@@ -244,7 +245,6 @@ namespace System.Reflection {
                }
 
 
-#if NET_4_0
                public override bool Equals (object obj)
                {
                        return obj == (object) this;
@@ -275,22 +275,23 @@ namespace System.Reflection {
                
                public virtual bool IsSecurityCritical {
                        get {
-                               throw new NotImplementedException ();
+                               throw new NotSupportedException ();
                        }
                }
                
                public virtual bool IsSecuritySafeCritical {
                        get {
-                               throw new NotImplementedException ();
+                               throw new NotSupportedException ();
                        }
                }
 
                public virtual bool IsSecurityTransparent {
                        get {
-                               throw new NotImplementedException ();
+                               throw new NotSupportedException ();
                        }
                }
-#endif
+
+#if !MOBILE
                void _FieldInfo.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
                {
                        throw new NotImplementedException ();
@@ -316,5 +317,6 @@ namespace System.Reflection {
                {
                        throw new NotImplementedException ();
                }
+#endif
        }
 }