Răsfoiți Sursa

2005-06-06 Zoltan Varga <[email protected]>

	* *.cs: Add net 2.0 ComVisibleAttribute.

svn path=/trunk/mcs/; revision=45510
Zoltan Varga 20 ani în urmă
părinte
comite
601f4125e5
74 a modificat fișierele cu 312 adăugiri și 4 ștergeri
  1. 4 0
      mcs/class/corlib/System.Reflection/AmbiguousMatchException.cs
  2. 3 0
      mcs/class/corlib/System.Reflection/Assembly.cs
  3. 4 0
      mcs/class/corlib/System.Reflection/AssemblyAlgorithmIdAttribute.cs
  4. 4 0
      mcs/class/corlib/System.Reflection/AssemblyCompanyAttribute.cs
  5. 4 0
      mcs/class/corlib/System.Reflection/AssemblyConfigurationAttribute.cs
  6. 4 0
      mcs/class/corlib/System.Reflection/AssemblyCopyrightAttribute.cs
  7. 4 0
      mcs/class/corlib/System.Reflection/AssemblyCultureAttribute.cs
  8. 4 0
      mcs/class/corlib/System.Reflection/AssemblyDefaultAliasAttribute.cs
  9. 4 0
      mcs/class/corlib/System.Reflection/AssemblyDelaySignAttribute.cs
  10. 5 0
      mcs/class/corlib/System.Reflection/AssemblyDescriptionAttribute.cs
  11. 5 0
      mcs/class/corlib/System.Reflection/AssemblyFileVersionAttribute.cs
  12. 5 0
      mcs/class/corlib/System.Reflection/AssemblyFlagsAttribute.cs
  13. 5 0
      mcs/class/corlib/System.Reflection/AssemblyInformationalVersionAttribute.cs
  14. 5 0
      mcs/class/corlib/System.Reflection/AssemblyKeyFileAttribute.cs
  15. 5 0
      mcs/class/corlib/System.Reflection/AssemblyKeyNameAttribute.cs
  16. 3 0
      mcs/class/corlib/System.Reflection/AssemblyName.cs
  17. 4 1
      mcs/class/corlib/System.Reflection/AssemblyNameFlags.cs
  18. 4 0
      mcs/class/corlib/System.Reflection/AssemblyNameProxy.cs
  19. 5 0
      mcs/class/corlib/System.Reflection/AssemblyProductAttribute.cs
  20. 5 0
      mcs/class/corlib/System.Reflection/AssemblyTitleAttribute.cs
  21. 5 0
      mcs/class/corlib/System.Reflection/AssemblyTradeMarkAttribute.cs
  22. 5 0
      mcs/class/corlib/System.Reflection/AssemblyVersionAttribute.cs
  23. 3 0
      mcs/class/corlib/System.Reflection/Binder.cs
  24. 4 1
      mcs/class/corlib/System.Reflection/BindingFlags.cs
  25. 4 0
      mcs/class/corlib/System.Reflection/CallingConventions.cs
  26. 4 0
      mcs/class/corlib/System.Reflection/ChangeLog
  27. 3 0
      mcs/class/corlib/System.Reflection/ConstructorInfo.cs
  28. 3 0
      mcs/class/corlib/System.Reflection/CustomAttributeData.cs
  29. 4 0
      mcs/class/corlib/System.Reflection/CustomAttributeFormatException.cs
  30. 4 0
      mcs/class/corlib/System.Reflection/CustomAttributeNamedArgument.cs
  31. 4 0
      mcs/class/corlib/System.Reflection/CustomAttributeTypedArgument.cs
  32. 5 0
      mcs/class/corlib/System.Reflection/DefaultMemberAttribute.cs
  33. 4 0
      mcs/class/corlib/System.Reflection/EventAttributes.cs
  34. 3 0
      mcs/class/corlib/System.Reflection/EventInfo.cs
  35. 3 0
      mcs/class/corlib/System.Reflection/ExceptionHandlingClause.cs
  36. 4 0
      mcs/class/corlib/System.Reflection/ExceptionHandlingClauseFlags.cs
  37. 4 0
      mcs/class/corlib/System.Reflection/FieldAttributes.cs
  38. 3 0
      mcs/class/corlib/System.Reflection/FieldInfo.cs
  39. 5 0
      mcs/class/corlib/System.Reflection/ICustomAttributeProvider.cs
  40. 3 0
      mcs/class/corlib/System.Reflection/IReflect.cs
  41. 5 0
      mcs/class/corlib/System.Reflection/ImageFileMachine.cs
  42. 18 1
      mcs/class/corlib/System.Reflection/InterfaceMapping.cs
  43. 4 0
      mcs/class/corlib/System.Reflection/InvalidFilterCriteriaException.cs
  44. 3 0
      mcs/class/corlib/System.Reflection/LocalVariableInfo.cs
  45. 5 0
      mcs/class/corlib/System.Reflection/ManifestResourceInfo.cs
  46. 4 0
      mcs/class/corlib/System.Reflection/MemberFilter.cs
  47. 3 0
      mcs/class/corlib/System.Reflection/MemberInfo.cs
  48. 4 0
      mcs/class/corlib/System.Reflection/MemberTypes.cs
  49. 4 0
      mcs/class/corlib/System.Reflection/MethodAttributes.cs
  50. 3 0
      mcs/class/corlib/System.Reflection/MethodBase.cs
  51. 3 0
      mcs/class/corlib/System.Reflection/MethodBody.cs
  52. 4 0
      mcs/class/corlib/System.Reflection/MethodImplAttributes.cs
  53. 3 0
      mcs/class/corlib/System.Reflection/MethodInfo.cs
  54. 5 0
      mcs/class/corlib/System.Reflection/Missing.cs
  55. 3 0
      mcs/class/corlib/System.Reflection/Module.cs
  56. 6 0
      mcs/class/corlib/System.Reflection/ModuleResolveEventHandler.cs
  57. 4 0
      mcs/class/corlib/System.Reflection/ObfuscateAssemblyAttribute.cs
  58. 4 0
      mcs/class/corlib/System.Reflection/ObfuscationAttribute.cs
  59. 4 0
      mcs/class/corlib/System.Reflection/ParameterAttributes.cs
  60. 3 0
      mcs/class/corlib/System.Reflection/ParameterInfo.cs
  61. 4 0
      mcs/class/corlib/System.Reflection/ParameterModifier.cs
  62. 5 0
      mcs/class/corlib/System.Reflection/Pointer.cs
  63. 4 0
      mcs/class/corlib/System.Reflection/PropertyAttributes.cs
  64. 4 0
      mcs/class/corlib/System.Reflection/PropertyInfo.cs
  65. 4 0
      mcs/class/corlib/System.Reflection/ReflectionTypeLoadException.cs
  66. 4 0
      mcs/class/corlib/System.Reflection/ResourceAttributes.cs
  67. 4 0
      mcs/class/corlib/System.Reflection/ResourceLocation.cs
  68. 4 0
      mcs/class/corlib/System.Reflection/StrongNameKeyPair.cs
  69. 4 0
      mcs/class/corlib/System.Reflection/TargetException.cs
  70. 4 0
      mcs/class/corlib/System.Reflection/TargetInvocationException.cs
  71. 4 0
      mcs/class/corlib/System.Reflection/TargetParameterCountException.cs
  72. 4 0
      mcs/class/corlib/System.Reflection/TypeAttributes.cs
  73. 4 0
      mcs/class/corlib/System.Reflection/TypeDelegator.cs
  74. 4 1
      mcs/class/corlib/System.Reflection/TypeFilter.cs

+ 4 - 0
mcs/class/corlib/System.Reflection/AmbiguousMatchException.cs

@@ -32,9 +32,13 @@
 
 using System;
 using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public sealed class AmbiguousMatchException : SystemException {
 		// Constructors

+ 3 - 0
mcs/class/corlib/System.Reflection/Assembly.cs

@@ -44,6 +44,9 @@ using Mono.Security;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[ClassInterface(ClassInterfaceType.None)]
 	public class Assembly : System.Reflection.ICustomAttributeProvider,

+ 4 - 0
mcs/class/corlib/System.Reflection/AssemblyAlgorithmIdAttribute.cs

@@ -31,9 +31,13 @@
 
 using System;
 using System.Configuration.Assemblies;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyAlgorithmIdAttribute : Attribute
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/AssemblyCompanyAttribute.cs

@@ -30,9 +30,13 @@
 //
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyCompanyAttribute : Attribute
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/AssemblyConfigurationAttribute.cs

@@ -30,9 +30,13 @@
 //
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyConfigurationAttribute : Attribute
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/AssemblyCopyrightAttribute.cs

@@ -30,9 +30,13 @@
 //
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyCopyrightAttribute : Attribute
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/AssemblyCultureAttribute.cs

@@ -30,9 +30,13 @@
 //
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyCultureAttribute : Attribute
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/AssemblyDefaultAliasAttribute.cs

@@ -30,9 +30,13 @@
 //
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyDefaultAliasAttribute : Attribute
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/AssemblyDelaySignAttribute.cs

@@ -29,9 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyDelaySignAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyDescriptionAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyDescriptionAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyFileVersionAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyFileVersionAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyFlagsAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyFlagsAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyInformationalVersionAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyInformationalVersionAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyKeyFileAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyKeyFileAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyKeyNameAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyKeyNameAttribute : Attribute
 	{

+ 3 - 0
mcs/class/corlib/System.Reflection/AssemblyName.cs

@@ -46,6 +46,9 @@ namespace System.Reflection {
 // a.	Uniform Resource Identifiers (URI): Generic Syntax
 //	http://www.ietf.org/rfc/rfc2396.txt
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[MonoTODO ("Fix serialization compatibility with MS.NET")]
 	public sealed class AssemblyName  : ICloneable, ISerializable, IDeserializationCallback {

+ 4 - 1
mcs/class/corlib/System.Reflection/AssemblyNameFlags.cs

@@ -32,12 +32,15 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
-
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	[Serializable]
 	public enum AssemblyNameFlags {

+ 4 - 0
mcs/class/corlib/System.Reflection/AssemblyNameProxy.cs

@@ -31,9 +31,13 @@
 //
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public class AssemblyNameProxy : MarshalByRefObject
 	{
 		// Constructor

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyProductAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyProductAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyTitleAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyTitleAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyTradeMarkAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyTrademarkAttribute : Attribute
 	{

+ 5 - 0
mcs/class/corlib/System.Reflection/AssemblyVersionAttribute.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class AssemblyVersionAttribute : Attribute
 	{

+ 3 - 0
mcs/class/corlib/System.Reflection/Binder.cs

@@ -36,6 +36,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[ClassInterface(ClassInterfaceType.AutoDual)]
 	public abstract class Binder

+ 4 - 1
mcs/class/corlib/System.Reflection/BindingFlags.cs

@@ -32,12 +32,15 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
-
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum BindingFlags {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/CallingConventions.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum CallingConventions {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/ChangeLog

@@ -1,3 +1,7 @@
+2005-06-06  Zoltan Varga  <[email protected]>
+
+	* *.cs: Add net 2.0 ComVisibleAttribute.
+
 2005-06-04 Gonzalo Paniagua Javier <[email protected]>
 
 	* Assembly.cs: if the assembly is loaded from a byte array, Location

+ 3 - 0
mcs/class/corlib/System.Reflection/ConstructorInfo.cs

@@ -38,6 +38,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[ClassInterface(ClassInterfaceType.None)]
 	public abstract class ConstructorInfo : MethodBase {

+ 3 - 0
mcs/class/corlib/System.Reflection/CustomAttributeData.cs

@@ -35,6 +35,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public sealed class CustomAttributeData {
 
 		[MonoTODO]

+ 4 - 0
mcs/class/corlib/System.Reflection/CustomAttributeFormatException.cs

@@ -31,9 +31,13 @@
 
 using System.Globalization;
 using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public class CustomAttributeFormatException : FormatException
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/CustomAttributeNamedArgument.cs

@@ -29,9 +29,13 @@
 #if NET_2_0
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public struct CustomAttributeNamedArgument {
 
 		[MonoTODO]

+ 4 - 0
mcs/class/corlib/System.Reflection/CustomAttributeTypedArgument.cs

@@ -29,9 +29,13 @@
 #if NET_2_0
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public struct CustomAttributeTypedArgument {
 
 		[MonoTODO]

+ 5 - 0
mcs/class/corlib/System.Reflection/DefaultMemberAttribute.cs

@@ -30,8 +30,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct |
 		AttributeTargets.Interface)]

+ 4 - 0
mcs/class/corlib/System.Reflection/EventAttributes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum EventAttributes {
 

+ 3 - 0
mcs/class/corlib/System.Reflection/EventInfo.cs

@@ -37,6 +37,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[ClassInterface(ClassInterfaceType.None)]
 	public abstract class EventInfo : MemberInfo {
 

+ 3 - 0
mcs/class/corlib/System.Reflection/ExceptionHandlingClause.cs

@@ -34,6 +34,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public sealed class ExceptionHandlingClause {
 		#region Sync with reflection.h
 		internal Type catch_type;

+ 4 - 0
mcs/class/corlib/System.Reflection/ExceptionHandlingClauseFlags.cs

@@ -30,9 +30,13 @@
 #if NET_2_0
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum ExceptionHandlingClauseFlags {
 		Clause = 0x0,

+ 4 - 0
mcs/class/corlib/System.Reflection/FieldAttributes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum FieldAttributes {
 

+ 3 - 0
mcs/class/corlib/System.Reflection/FieldInfo.cs

@@ -42,6 +42,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[ClassInterface(ClassInterfaceType.None)]
 	public abstract class FieldInfo : MemberInfo {

+ 5 - 0
mcs/class/corlib/System.Reflection/ICustomAttributeProvider.cs

@@ -30,8 +30,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public interface ICustomAttributeProvider {
 
 		object [] GetCustomAttributes (bool inherit);

+ 3 - 0
mcs/class/corlib/System.Reflection/IReflect.cs

@@ -36,6 +36,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Guid("AFBF15E5-C37C-11d2-B88E-00A0C9B471B8")]
 	public interface IReflect {
 

+ 5 - 0
mcs/class/corlib/System.Reflection/ImageFileMachine.cs

@@ -26,8 +26,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 #if NET_2_0 || BOOTSTRAP_NET_2_0
 	public

+ 18 - 1
mcs/class/corlib/System.Reflection/InterfaceMapping.cs

@@ -22,12 +22,29 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-namespace System.Reflection {
+using System.Runtime.InteropServices;
 
+namespace System.Reflection {
 	public struct InterfaceMapping {
+
+#if NET_2_0
+		[ComVisible (true)]
+#endif
 		public MethodInfo[] InterfaceMethods;
+
+#if NET_2_0
+		[ComVisible (true)]
+#endif
 		public Type InterfaceType;
+
+#if NET_2_0
+		[ComVisible (true)]
+#endif
 		public MethodInfo[] TargetMethods;
+
+#if NET_2_0
+		[ComVisible (true)]
+#endif
 		public Type TargetType;
 	}
 }

+ 4 - 0
mcs/class/corlib/System.Reflection/InvalidFilterCriteriaException.cs

@@ -31,9 +31,13 @@
 
 using System.Globalization;
 using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public class InvalidFilterCriteriaException : ApplicationException
 	{

+ 3 - 0
mcs/class/corlib/System.Reflection/LocalVariableInfo.cs

@@ -34,6 +34,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public class LocalVariableInfo {
 		#region Sync with reflection.h
 		internal Type type;

+ 5 - 0
mcs/class/corlib/System.Reflection/ManifestResourceInfo.cs

@@ -28,8 +28,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public class ManifestResourceInfo
 	{
 		private Assembly _assembly;

+ 4 - 0
mcs/class/corlib/System.Reflection/MemberFilter.cs

@@ -23,8 +23,12 @@
 //
 using System;
 using System.Reflection;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public delegate bool MemberFilter( MemberInfo m, object filterCriteria);
 
 }

+ 3 - 0
mcs/class/corlib/System.Reflection/MemberInfo.cs

@@ -33,6 +33,9 @@ using System.Security.Permissions;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[ClassInterface(ClassInterfaceType.None)]
 	[PermissionSet (SecurityAction.InheritanceDemand, Unrestricted = true)]

+ 4 - 0
mcs/class/corlib/System.Reflection/MemberTypes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum MemberTypes {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/MethodAttributes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum MethodAttributes {
 

+ 3 - 0
mcs/class/corlib/System.Reflection/MethodBase.cs

@@ -39,6 +39,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[ClassInterface(ClassInterfaceType.None)]
 	public abstract class MethodBase: MemberInfo {

+ 3 - 0
mcs/class/corlib/System.Reflection/MethodBody.cs

@@ -35,6 +35,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public sealed class MethodBody {
 		#region Sync with reflection.h
 		ExceptionHandlingClause[] clauses;

+ 4 - 0
mcs/class/corlib/System.Reflection/MethodImplAttributes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum MethodImplAttributes {
 

+ 3 - 0
mcs/class/corlib/System.Reflection/MethodInfo.cs

@@ -36,6 +36,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[ClassInterface(ClassInterfaceType.None)]
 	public abstract class MethodInfo: MethodBase {

+ 5 - 0
mcs/class/corlib/System.Reflection/Missing.cs

@@ -29,8 +29,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public sealed class Missing
 	{
 		public static readonly Missing Value = new Missing ();

+ 3 - 0
mcs/class/corlib/System.Reflection/Module.cs

@@ -42,6 +42,9 @@ namespace System.Reflection {
 		Other
 	};
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public class Module : ISerializable, ICustomAttributeProvider {
 	

+ 6 - 0
mcs/class/corlib/System.Reflection/ModuleResolveEventHandler.cs

@@ -29,9 +29,15 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
+
 using System;
+using System.Runtime.InteropServices;
+
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public delegate Module ModuleResolveEventHandler (object sender, ResolveEventArgs e);
 }
 

+ 4 - 0
mcs/class/corlib/System.Reflection/ObfuscateAssemblyAttribute.cs

@@ -31,9 +31,13 @@
 #if NET_2_0 || BOOTSTRAP_NET_2_0
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly)]
 	public sealed class ObfuscateAssemblyAttribute : Attribute {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/ObfuscationAttribute.cs

@@ -31,9 +31,13 @@
 #if NET_2_0 || BOOTSTRAP_NET_2_0
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[AttributeUsage (AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Event|AttributeTargets.Interface|AttributeTargets.Parameter|AttributeTargets.Delegate)]
 	public sealed class ObfuscationAttribute : Attribute {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/ParameterAttributes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum ParameterAttributes {
 

+ 3 - 0
mcs/class/corlib/System.Reflection/ParameterInfo.cs

@@ -33,6 +33,9 @@ using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public class ParameterInfo : ICustomAttributeProvider
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/ParameterModifier.cs

@@ -30,8 +30,12 @@
 //
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public struct ParameterModifier {
 		private bool[] _byref;

+ 5 - 0
mcs/class/corlib/System.Reflection/Pointer.cs

@@ -36,8 +36,13 @@ using System.Reflection;
 using System.Globalization;
 using System.Runtime.CompilerServices;
 using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
+
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[CLSCompliant(false)]
 	public unsafe sealed class Pointer : ISerializable {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/PropertyAttributes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum PropertyAttributes {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/PropertyInfo.cs

@@ -37,6 +37,10 @@ using System.Globalization;
 using System.Runtime.InteropServices;
 
 namespace System.Reflection {
+
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	[ClassInterface(ClassInterfaceType.None)]
 	public abstract class PropertyInfo : MemberInfo {

+ 4 - 0
mcs/class/corlib/System.Reflection/ReflectionTypeLoadException.cs

@@ -31,9 +31,13 @@
 //
 using System.Globalization;
 using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public sealed class ReflectionTypeLoadException : SystemException
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/ResourceAttributes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum ResourceAttributes {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/ResourceLocation.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum ResourceLocation {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/StrongNameKeyPair.cs

@@ -32,12 +32,16 @@
 using System.IO;
 using System.Security.Cryptography;
 using System.Security.Permissions;
+using System.Runtime.InteropServices;
 
 using Mono.Security;
 using Mono.Security.Cryptography;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 [Serializable]
 public class StrongNameKeyPair 
 {		

+ 4 - 0
mcs/class/corlib/System.Reflection/TargetException.cs

@@ -31,9 +31,13 @@
 
 using System.Globalization;
 using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public class TargetException : ApplicationException
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/TargetInvocationException.cs

@@ -30,9 +30,13 @@
 //
 
 using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public sealed class TargetInvocationException : ApplicationException
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/TargetParameterCountException.cs

@@ -31,9 +31,13 @@
 
 using System.Runtime.Serialization;
 using System.Globalization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection
 {
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public sealed class TargetParameterCountException : ApplicationException
 	{

+ 4 - 0
mcs/class/corlib/System.Reflection/TypeAttributes.cs

@@ -32,12 +32,16 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
 
 	/// <summary>
 	/// </summary>
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Flags]
 	public enum TypeAttributes {
 

+ 4 - 0
mcs/class/corlib/System.Reflection/TypeDelegator.cs

@@ -30,9 +30,13 @@
 using System;
 using System.Reflection;
 using System.Globalization;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	[Serializable]
 	public class TypeDelegator : Type {
 		protected Type typeImpl;

+ 4 - 1
mcs/class/corlib/System.Reflection/TypeFilter.cs

@@ -27,10 +27,13 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+using System.Runtime.InteropServices;
 
 namespace System.Reflection {
 
-
+#if NET_2_0
+	[ComVisible (true)]
+#endif
 	public delegate bool TypeFilter (Type m, object filterCriteria);
 
 } // System.Reflection