[Mono-devel-list] [mono 1.0.2] nested class property gives Segmentation fault
Zoltan Varga
vargaz at gmail.com
Sun Nov 28 08:17:31 EST 2004
Hi,
This line:
> set {
> Number = value;
> }
Causes infinite recursion and a stack overflow, since Number = value
calls the 'set' method
of the property. To solve this, define an instance variable to hold
the value of the property:
private string number;
public string Number {
get {
return number;
}
set {
number = value;
}
}
Mono can't currently handle stack overflow very well.
Zoltan
On Sun, 28 Nov 2004 14:10:28 +0100, Carlo Salinari <csali at tiscali.it> wrote:
> Hello,
>
> I'm getting a segfault from the mono runtime. I was learning to use nested
> classes.
>
> Execution terminates when trying to initialize a property
> from the nested class constructor (don't even know if is legal).
>
> I present here a short program to show the bug.
>
> Should I file it to bugzilla or is it already resolved in svn?
>
> using System;
>
> public class ShowTheBug
> {
>
> public static void Main (string[] args)
> {
> Console.WriteLine ("HERE");
> NestedClass nescl = new NestedClass ("110", IntPtr.Zero, "salve");
> Console.WriteLine (nescl.Number);
> Console.WriteLine (nescl.Mark);
> Console.WriteLine (nescl.PlainText);
> Console.WriteLine ("THERE");
> }
>
> public class NestedClass
> {
> public NestedClass (string line_num, IntPtr mark, string line_text)
> {
> Console.WriteLine(line_num);
> Console.WriteLine(mark);
> Console.WriteLine(line_text);
> Number = String.Copy (line_num);
> Console.WriteLine("INSIDE CONSTRUCTOR");
> Mark = mark;
> PlainText = String.Copy (line_text);
> }
>
> public string Number
> {
> get {
> return Number;
> }
> set {
> Number = value;
> }
> }
>
> public IntPtr Mark
> {
> get {
> return Mark;
> }
> set {
> Mark = value;
> }
> }
>
> public string PlainText
> {
> get {
> return PlainText;
> }
> set {
> PlainText = value;
> }
> }
> }
> }
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
More information about the Mono-devel-list
mailing list