方括号"[]"在下面的语法中

本文关键字:quot 语法 方括号 在下面 | 更新日期: 2023-09-27 18:12:55

这一定是一个非常基本的问题,但在互联网上绊倒了一段时间后,我无法理解下面的代码。我是c#的新手。 [] (方括号)

的确切用例是什么?
class Options
{
    [Option('f', "file", Required = true,
        HelpText = "Input file to be processed.")]
    public string InputFile { get; set; }
    [Option('o', "outprefix", Required = true,
        HelpText = "Output prefix for file.")]
    public string OutPreFix { get; set; }
    [Option('v', "verbose", DefaultValue = false,
        HelpText = "Prints all messages to standard output.")]
    public bool Verbose { get; set; }
    [ParserState]
    public IParserState LastParserState { get; set; }
    [HelpOption]
    public string GetUsage()
    {
        return HelpText.AutoBuild(this, (HelpText current) => HelpText.DefaultParsingErrorsHandler(this, current));
    }
}

方括号"[]"在下面的语法中

这些是属性。基本上,它们为成员提供自定义元数据。元数据内置于程序集中,可以由其他代码(通过反射)获取,然后可以将该信息用于任何目的。

在这个特殊的情况下,它们被用来为可以在命令行上指定的属性提供元数据,大概是由这个库使用的。

如果你是c#新手,你可能想暂时忽略这些——尽管这很大程度上取决于你在做什么样的开发。有些代码严重依赖于属性(例如MVC),而其他代码几乎不会触及它。

这些都是属性——它们有效地定义了关于它们所在的成员的元数据(可以是类、方法等),并且可以使用反射进行查询。查看更多信息:

    反射
  • 性>

这些是可以应用于类型及其成员的属性。有些人会说你用一个属性"装饰"一个成员,以提供关于成员的进一步信息。例如,数据注释可用于提供针对类型属性的验证。

进一步阅读:MSDN

你也可以创建自己的属性:MSDN

Hope That help

保罗

在c#中,方法前使用的方括号表示属性-基本上是可以影响函数或类行为的元数据。有许多不同类型的属性用于许多不同的目的。它们可以做很多事情,但这里有一些例子:

  • 他们可以把一个类标记为可序列化的
  • 使一个方法可以通过web服务访问
  • 根据需要标记类属性(允许关联页面显示正确的验证)
  • 在xml和json之间更改web服务方法的返回格式

它们也可以包含与元标记有关的属性,因此在上面的示例中,Option标记有几个正在设置的参数,这些参数可以改变行为(例如,将字段设置为必需或更改帮助文本)。

一般来说,你会在需要的时候了解你所需要的属性,所以不必过于担心理解每一种可能性。