簡體   English   中英

非靜態事物是否來自靜態C#?

[英]Do Non-Static things from Static, C#?

我正在使用c#開發用於Raspberry pi 3上安裝的Windows IoT的小型UWP應用。但是,我想要這樣做:

button.Visibility = Visibility.Visible;
button1.Visibility = Visibility.Collpsed;

該代碼我想將其保留在靜態方法中:)。 我還沒有找到任何有用的答案。 希望你們能給我一個簡單快捷的解決方案。

如果要使其靜態,則必須傳遞按鈕

public static void DoStuff(Button button, Button button1)
{
    button.Visibility = Visibility.Visible;
    button1.Visibility = Visibility.Collpsed;
}

作為凱文已經足夠答案的第二種選擇,如果您一次使用一個按鈕,則可以使用擴展方法完成類似的操作。 您需要在擴展方法所在的名稱空間中使用using語句。

擴展方法是一種將實例方法添加到現有類的方法。

請參閱MSDN-擴展方法

例如:

public static class ButtonExtensions
{
    public static void SetVisibility(this Button button, Visibility visibility)
    {
       button.Visibility = visibility;
    }
}

用法:

public void Test()
{
    Button button = new Button();
    Visibility visibility = Visibility.Collapsed;

    button.SetVisibility(visibility);

    //or
    ButtonExtensions.SetVisibility(button, visibility);
}

暫無
暫無

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

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