c# - 方法声明末尾的 new() 关键字

标签 c# syntax new-operator keyword method-declaration

<分区>

一位同事刚刚给了我一些我必须在 .NET 应用程序中使用的 C# 类。
有个错别字,我没见过,网上也找不到解释...

代码如下:

public void GoTo<TView>() where TView : Form, new()
{
    var view = Activator.CreateInstance<TView>();

    //si on vient de creer une startup view alors on affiche l'ancienne
    //la reference a la nouvelle sera detruite en sortant de la fonction GoTo
    if (view is StartupForm)
    {
        ShowView(_StartupForm);
    }
    else ShowView(view);

}

方法声明末尾的 new() 关键字有什么用?

最佳答案

type parameter constraint .从字面上看,它意味着 TView 必须有一个公共(public)的无参数构造函数。

关于c# - 方法声明末尾的 new() 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34812720/

相关文章:

c++ - 在 CUDA 中初始化 dim3 变量, "dim3 dimGrid(numBlocks);"语法如何工作?

mysql - 按行中的值多次重复结果行

C++: vector<字符串> *args = new vector<字符串>();导致SIGABRT

c++ - 对内存分配和构造函数的调用是否可以与执行 "new"表达式所需的其他操作交错?

c++ - 删除指向函数的指针数组?

c# - 搜索特定字符串的文件并检查之后是否有任何内容

c# - 滑动(轻弹)父 View 时防止在 subview 上单击事件。 WinPhone8.1

c# - 如何在 Visual Studio 2012 中添加引用 `Microsoft.TeamFoundation.TestImpact.Client.dll`?

c# - 在 64 位系统上读取 Excel : Microsoft. Jet.OLEDB.4.0 错误

python - 内联 for in 表达式评估