簡體   English   中英

用參數創建類實例的C#中的編寫方法

[英]Writing Method in C# Which Creates Instance Of Class Using Parameter

一個基本問題:我正在編寫一個具有菜單的C#應用​​程序,每個菜單項都將打開一個新窗口。 這些窗口都是Window類的實例。

而不是編寫:(EditSettings是目標窗口的所需名稱)

Window EditSettings = new Window();
EditSettings.Show();

對於每個實例,我是否可以編寫如下所示的方法來創建實例?

private void OpenSelectedWindow(Window n)
{
    n = new Window();
    n.Show();
}

我無法調用該方法-我嘗試過:

OpenSelectedWindow(EditSettings);

哪個不起作用(“名稱EditSettings在當前上下文中不存在”),或

OpenSelectedWindow(Window EditSettings);

這也不起作用

我對C#感到非常生疏,並很想問這個問題,但是我似乎在互聯網上找不到這個例子。 您可以使用方法創建類的實例嗎? 我想念什么? 謝謝。

編輯

這些代碼都發生在主命名空間中:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    // Attempting to write a method that instances the class
    private void OpenSelectedWindow(Window n)
    {
        n = new Window();
        n.Show();

    }

    private void MenuItem_Click(object sender, RoutedEventArgs e)
    {
        //Calling the method
        OpenSelectedWindow(EditSettings);
    }
}

我有兩個.xaml文件-EditSettings.xaml(空)和MainWindow.xaml。

您可以為此使用泛型:

private T OpenSelectedWindow<T>() where T : Window, new()
{
    T n = new T();
    n.Show();
    return n;
}

使用如下方法:

EditSettings editSettingsWindow = OpenSelectedWindow<EditSettings>();

暫無
暫無

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

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