+
+Mon Jun 30 19:12:08 CEST 2003 Paolo Molaro <lupus@ximian.com>
+
+ * Pointer.cs: implemented.
+
2003-06-15 Zoltan Varga <vargaz@freemail.hu>
* EventInfo.cs: Implement IsSpecialName.
--- /dev/null
+//
+// System.Reflection/Pointer.cs
+//
+// Author:
+// Paolo Molaro (lupus@ximian.com)
+//
+// (C) 2003 Ximian, Inc. http://www.ximian.com
+//
+//
+
+using System;
+using System.Reflection;
+using System.Globalization;
+using System.Runtime.CompilerServices;
+using System.Runtime.Serialization;
+
+namespace System.Reflection {
+
+ [Serializable]
+ [CLSCompliant(false)]
+ public unsafe sealed class Pointer : ISerializable {
+
+ void *data;
+ Type type;
+
+ private Pointer () {
+ }
+
+ public static Pointer Box (void *ptr, Type type)
+ {
+
+ if (type == null)
+ throw new ArgumentNullException ("type");
+ if (!type.IsPointer)
+ throw new ArgumentException ("type");
+ Pointer res = new Pointer ();
+ res.data = ptr;
+ res.type = type;
+ return res;
+ }
+
+ public static void* Unbox (object ptr)
+ {
+ Pointer p = ptr as Pointer;
+ if (p == null)
+ throw new ArgumentException ("ptr");
+ return p.data;
+ }
+
+ void ISerializable.GetObjectData (SerializationInfo info, StreamingContext context)
+ {
+ throw new NotSupportedException ("Pointer deserializatioon not supported.");
+ }
+ }
+}
System.Reflection/ParameterAttributes.cs
System.Reflection/ParameterInfo.cs
System.Reflection/ParameterModifier.cs
+System.Reflection/Pointer.cs
System.Reflection/PropertyAttributes.cs
System.Reflection/PropertyInfo.cs
System.Reflection/ReflectionTypeLoadException.cs