[Mono-bugs] [Bug 569405] New: Reflection isn't able to change static readonly fields. .NET difference

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Jan 8 16:54:11 EST 2010


http://bugzilla.novell.com/show_bug.cgi?id=569405

http://bugzilla.novell.com/show_bug.cgi?id=569405#c0


           Summary: Reflection isn't able to change static readonly
                    fields.  .NET difference
    Classification: Mono
           Product: Mono: Class Libraries
           Version: 1.2.0
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: CORLIB
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: tom_hindle at sil.org
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


User-Agent:       Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;
Trident/4.0; GTB6.3; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR
3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

I have a field:

private static readonly MyClass s_class = new MyClass(1);

I then do:

var fieldInfo = this.GetType().GetField("s_class", BindingFlags.Static |
BindingFlags.NonPublic);
            fieldInfo.SetValue(this, new MyClass(2));

On .Net s_class now refs the MyClass(2) instance while on mono it still refs
the MyClass(1).

I know this is horrible thing to do but I thought I would report the differnce.

Attached sample program showing difference.

Reproducible: Always

Steps to Reproduce:
1. Compile and run attached program
2.
3.
Actual Results:  
1
1

Expected Results:  
2
3

-- 
Configure bugmail: http://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