[英]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.