【问题标题】:What is the angle brackets part is called in C# e.g. SomeMethodName<ISomething>()什么是尖括号部分在 C# 中被称为例如SomeMethodName<ISomething>()
【发布时间】:2018-04-29 12:27:39
【问题描述】:

在 C# 中给出以下内容:

public Complex SomeMethodName<ISomething>(int x, int y, ....)

我们可以将每个部分描述如下:

public : accessor specifier
Complex : the resut of the function
SomeMethodName : Method Name
<ISomething> : ???
(int x, int y, ....) : parameter list 

我的问题是&lt;ISomething&gt; Part 的名称是什么?

PS:我知道尖括号的名称,但那部分是什么意思?该方法的通用性?

更新:例如 我们会读

public Complex SomeMethodName(int x, int y, ....)

作为公共方法 SomeMethodName 返回 Complex 作为结果并采用参数 int x, int y, ...

我们应该阅读

public Complex SomeMethodName<ISomething>(int x, int y, ....)

作为泛型 ISomething 的公共方法 SomeMethodName 返回 Complex 作为结果并采用参数 int x, int y, ... ?

【问题讨论】:

  • 可能是generic argument list?
  • &lt;ISomething&gt; => 这称为泛型类型参数。见Generics in C#
  • @TetsuyaYamamoto :更新了问题,
  • @Arjang 您可以将读取的方法解释为:“具有返回类型'Complex'和类型参数'ISomething'的公共通用SomeMethodName方法,它将'x'和'y'作为整数参数/参数”。

标签: c# terminology


【解决方案1】:

我的问题是零件的名称是什么?

是泛型方法的类型参数。

例如:

static void Swap<T>(ref T lhs, ref T rhs)
{
    T temp;
    temp = lhs;
    lhs = rhs;
    rhs = temp;
}

上面定义的方法被调用,替换为所需的类型:

public static void TestSwap()
{
    int a = 1;
    int b = 2;

    Swap<int>(ref a, ref b);
    System.Console.WriteLine(a + " " + b);
}

所以在上面的Swap&lt;int&gt;这里我们传递类型参数int

这个Link 解释了泛型方法。

【讨论】:

    【解决方案2】:

    模板类型。 模板类型名。 模板参数。 模板参数。

    【讨论】:

    • 你能详细说明你的答案吗?
    • 我不确定这么多反对票。问题是,尖括号部分叫什么。一般称为模板形参、模板实参等。没什么好说的。
    • 老兄,通用类型与模板无关。请删除您影响我的 1 个代表点的帖子。
    • 您明白术语“泛型”和“模板”通常是同义词吗? (通用集合从 C++ 模板/STL 开始。)
    • 是的,我愿意。但是,您的过时答案没有被赞成。 talk.net 时请参考 T4 类型意义上的模板。
    【解决方案3】:

    【讨论】:

    • 谢谢,你能看看我更新的问题吗?
    • @Arjang 可能是“一个泛型方法SomeMethodName 带有ISomething 泛型类型参数的方法,它以xy 作为参数并返回一个Complex 值作为结果。”。但我认为@Tetsuya Yamamoto 的回答也是正确的。
    猜你喜欢
    • 2022-10-01
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 2011-09-30
    • 2017-08-24
    • 2021-11-26
    • 1970-01-01
    • 2017-09-01
    相关资源
    最近更新 更多