[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System Delegate.cs,1.6,1.7
From: |
Gopal.V <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System Delegate.cs,1.6,1.7 |
Date: |
Sun, 29 Dec 2002 10:02:47 -0500 |
Update of /cvsroot/dotgnu-pnet/pnetlib/runtime/System
In directory subversions:/tmp/cvs-serv21872/runtime/System
Modified Files:
Delegate.cs
Log Message:
Fix for bug #2084, Delegates disambiguation
Index: Delegate.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/runtime/System/Delegate.cs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** Delegate.cs 29 Jun 2002 00:45:26 -0000 1.6
--- Delegate.cs 29 Dec 2002 15:02:45 -0000 1.7
***************
*** 130,133 ****
--- 130,144 ----
extern private static Delegate CreateBlankDelegate
(Type type, ClrMethod method);
+
+ private static Type[] GetDelegateParams(Type type)
+ {
+ ParameterInfo [] args=type.GetMethod("Invoke").GetParameters();
+ Type [] argTypes=new Type[args.Length];
+ for(int i=args.Length-1;i>=0;i--)
+ {
+ argTypes[i] = args[i].ParameterType;
+ }
+ return argTypes;
+ }
// Create a delegate for an instance method.
***************
*** 159,163 ****
(method,
BindingFlags.Public |
BindingFlags.NonPublic |
!
BindingFlags.Instance);
if(methodInfo == null)
{
--- 170,176 ----
(method,
BindingFlags.Public |
BindingFlags.NonPublic |
!
BindingFlags.Instance,
!
null, CallingConventions.Any,
!
GetDelegateParams(type),null);
if(methodInfo == null)
{
***************
*** 207,211 ****
(method,
BindingFlags.Public |
BindingFlags.NonPublic |
!
BindingFlags.Static);
if(methodInfo == null || !(methodInfo is
ClrMethod))
{
--- 220,226 ----
(method,
BindingFlags.Public |
BindingFlags.NonPublic |
!
BindingFlags.Static,
!
null, CallingConventions.Any,
!
GetDelegateParams(type),null);
if(methodInfo == null || !(methodInfo is
ClrMethod))
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/runtime/System Delegate.cs,1.6,1.7,
Gopal.V <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnetlib ChangeLog,1.587,1.588
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2033,1.2034 Makefile.am,1.19,1.20
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnetlib ChangeLog,1.587,1.588
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnet ChangeLog,1.2033,1.2034 Makefile.am,1.19,1.20
- Index(es):