首页 > 解决方案 > 如何在 C# 中调用内部类

问题描述

我正在尝试使用事件处理程序从外部类设置内部类值

这里传递值的行,PaymentMode 是 Event

public event PaymentModeEven PaymentMode;
PaymentMode(this,new PaymentModeEvenArgs() { paymentSuccess = true });

内部类

public class PaymentModeEvenArgs: EventArgs
{
    private bool PaymentSuccess;
    public bool paymentSuccess
    {
        get { return paymentSuccess; }
        set
        {
            paymentSuccess = value;
        }
    }
}

程序卡住并停止

标签: c#

解决方案


你有一个堆栈溢出异常。考虑您的财产:

public bool paymentSuccess
{
    get { return paymentSuccess; }
    set
    {
        paymentSuccess = value;
    }
}

当你 get 或 setpaymentSuccess时,它在内部做什么?它获取或设置paymentSuccess. 在内部,获取或设置paymentSuccess. 哪个,在内部......你明白了。

看起来您打算在字段和属性之间交换大小写:

private bool paymentSuccess;
public bool PaymentSuccess
{
    get { return paymentSuccess; }
    set
    {
        paymentSuccess = value;
    }
}

或者,更好的是,只使用一个自动实现的属性,这样你只需要创建一个命名成员:

public bool PaymentSuccess { get; set; }

推荐阅读