首页 > 解决方案 > 如何在 2 个 C# 类之间共享字符串

问题描述

在我的第一堂课中,我有这个代码:

public string getUser()
    {
        string UserName = metroTextBox4.Text;
        return UserName;
    }
    
    public string EmailAddr()
    {
        string Addr = metroTextBox1.Text;
        return Addr;
    }

在我的另一堂课中,我有以下代码:

private async Task kka(int value)
    {
        var senderg = new SmtpSender(() => new SmtpClient("localhost")

        {
            EnableSsl = false,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            Port = 25
            

        });


        Email.DefaultSender = senderg;

        var email = await Email
            .From("myEmail@example.com")
            .To($"{EmailAddr()}", $"{getUser()}") //At getUser() and at EmailAddr i have the errors
            .Subject("Salut")
            .Body("Mersi ca mi-ai cumparat produsul, sa ai pofta!" +
            $"Comanda ta a avut valoarea de {value} lei")
            .SendAsync();
    }

错误是“当前上下文中不存在名称‘EmailAddr’”和“当前上下文中不存在名称‘getUser’”

标签: c#visual-studio

解决方案


您必须在第二个类的方法中创建第一个类的对象,并使用该引用引用方法 EmailAddr() 和 getUser()。

FirstClass fObj = new FirstClass();
fObj.EmailAddr();
fObj.getUser();

或者正如 Olivier 在评论中正确提到的那样,您可以在第二类的构造函数中传递对第一类的引用


推荐阅读