簡體   English   中英

如何在 2 個 C# 類之間共享字符串

[英]How to share a string between 2 C# classes

在我的第一堂課上,我有這個代碼:

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’”

您必須在第二個類的方法中創建第一個類的對象,並使用該引用引用方法 EmailAddr() 和 getUser()。

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

或者正如奧利維爾在評論中正確提到的那樣,您可以在第二個類的構造函數中傳遞對第一個類的引用

這么多不同的方法。 將為您提供第一個 2選項 1 :發送電子郵件作為函數的參數

private async Task kka(int value, string email)

選項 2 :使用靜態類來設置屬性。 所以你可以從其他班級閱讀它

void Main()
{
    EmailAddr2.EmailAddress = EmailAddr();
    TODO();
}

private void TODO()
{
    EmailAddr2.EmailAddress.Dump();
}


public string EmailAddr()
{
    string Addr = "my@email.com";
    return Addr;
}


public static class EmailAddr2
{
    public static string EmailAddress {get;set;}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM