[Mono-bugs] [Bug 655439] New: Delegate.CreateDelegate is less strict than MS, but invocation is incorrect
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Nov 23 03:43:49 EST 2010
https://bugzilla.novell.com/show_bug.cgi?id=655439
https://bugzilla.novell.com/show_bug.cgi?id=655439#c0
Summary: Delegate.CreateDelegate is less strict than MS, but
invocation is incorrect
Classification: Mono
Product: Mono: Class Libraries
Version: SVN
Platform: Other
OS/Version: Other
Status: NEW
Severity: Major
Priority: P5 - None
Component: CORLIB
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: xacc.ide at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: Community User
Blocker: ---
Description of Problem:
Delegate.CreateDelegate is less strict than MS. Consider the following:
public static void Foo(params object[] args)
{
Console.WriteLine(args);
}
static void Main(string[] args)
{
var r = Delegate.CreateDelegate(typeof(Action),
typeof(Program).GetMethod("Foo")) as Action;
r();
}
On MS, this fails with:
Unhandled Exception: System.ArgumentException: Error binding to target method.
at System.Delegate.CreateDelegate(Type type, MethodInfo method, Boolean
throwOnBindFailure)
at ConsoleApplication1.Program.Main(String[] args)
On Mono it success, all good now, but when invoked (as in r()), 'null' is
passed to the method, instead of new object[0].
Actual Results:
'param object[] args' is null
Expected Results:
'param object[] args' is should be 'object[0]'
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list