如何使用 C#6“使用静态”功能?

2023-11-24

我正在看其中的几个新功能在C# 6,具体来说,“使用静态”.

using static is a new kind of using clause that lets you import static members of types directly into scope.
(Bottom of the blog post)

根据我找到的几个教程,想法如下:
代替:

using System;

class Program 
{ 
    static void Main() 
    { 
        Console.WriteLine("Hello world!"); 
        Console.WriteLine("Another message"); 
    } 
}

可以省略重复的Console语句,使用使用静态类的新 C# 6 功能:

using System.Console;
//           ^ `.Console` added.
class Program 
{ 
    static void Main() 
    { 
        WriteLine("Hello world!"); 
        WriteLine("Another message"); 
    } // ^ `Console.` removed.
}

但是,这似乎对我不起作用。我收到错误using声明说:

"A 'using namespace' 指令只能应用于命名空间; 'Console' 是类型而不是命名空间。考虑一个'using static' 指令代替”

我使用的是 Visual Studio 2015,并且我将构建语言版本设置为"C# 6.0"

是什么赋予了? msdn博客的例子不正确吗?为什么这不起作用?


该博客文章现已更新以反映最新更新,但这里有一个屏幕截图,以防博客出现故障:

blog


自这些博客文章撰写以来,语法似乎略有变化。根据错误消息提示,添加static到您的包含声明:

using static System.Console;
//      ^
class Program 
{ 
    static void Main() 
    { 
        WriteLine("Hello world!"); 
        WriteLine("Another message"); 
    } 
}

然后,您的代码将编译。


请注意,在 C# 6.0 中,这仅适用于声明为的成员static.

例如,考虑System.Math:

public static class Math {
    public const double PI = 3.1415926535897931;
    public static double Abs(double value);
    // <more stuff>
}

When using static System.Math,你可以只使用Abs();.
但是,您仍然需要添加前缀PI因为它不是静态成员:Math.PI;.

从 C# 版本 7.2 开始,情况不应如此,const价值观像PI也可以使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C#6“使用静态”功能? 的相关文章

  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • UML类图:抽象方法和属性是这样写的吗?

    当我第一次为一个小型 C 项目创建 uml 类图时 我在属性方面遇到了一些麻烦 最后我只是将属性添加为变量 lt
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • C++ 复制初始化和直接初始化,奇怪的情况

    在继续阅读本文之前 请阅读在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a difference in c between copy i
  • 为什么我收到“找不到编译动态表达式所需的一种或多种类型。”?

    我有一个已更新的项目 NET 3 5 MVC v2 到 NET 4 0 MVC v3 当我尝试使用或设置时编译出现错误 ViewBag Title财产 找不到编译动态表达式所需的一种或多种类型 您是否缺少对 Microsoft CSharp

随机推荐

  • 检索 CSS 是否需要“getPropertyValue”方法?

    你能告诉我为什么我们需要使用getPropertyValue方法 如果我们只能使用getComputedStyle one 例如 据我了解 这将起作用 var s getComputedStyle element null opacity
  • 错误! “sudo”不是 Play 的有效属性

    我有一个 ansible 播放文件 它必须执行两个任务 第一个任务是在本地计算机上获取磁盘使用情况 另一个任务是获取远程计算机的磁盘使用情况并在远程计算机中安装 apache2 当我尝试运行该文件时出现错误 错误 sudo 不是 Play
  • 带有 json 正文的 Swagger POST

    我正在尝试使用 swagger 编写服务器响应的静态 json 文件 我被帖子正文困住了 不知道如何描述它 它看起来与 Grooveshark api 非常相似 其中有一个页面和不同的帖子参数 因此 给出grooveshark的例子 htt
  • 对 CollectionViewSource 感到困惑(SelectedItem 无法在组合中工作)

    我有一堆组合 它们都共享相同的可用选项 这些选择在我的 ViewModel 公开的集合中提供 一切都很好 花花公子 我现在想要对这些选择进行排序 所以我决定公开一个ICollectionView来自我的 ViewModel 而不是我平常的R
  • 将 plupload 与 MVC3 结合使用

    因此 我在 MVC3 中使用 flash 运行时实现了 plupload 它工作完美 因为它使用更正操作上传并运行全部内容 但是 我真的很希望能够控制响应 并在 plupload 中处理它 但我似乎无法得到任何响应 我尝试过覆盖 fileU
  • ambari hadoop 安装期间权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic、密码)

    我正在尝试使用 ambari 部署 hadoop 集群 但是当我选择具有 FQDN 的主机名并继续配置时 我收到 ssh 的权限被拒绝错误 脚步 1 使用 ssh keygen 作为 root 生成 rsa 密钥 更改了 ssh 700 和
  • 我什么时候会使用 AppDomain?

    我对反射相当陌生 我想知道我会使用 第二个 AppDomain 做什么 在商业应用中会有什么实际应用 有很多用途 辅助 AppDomain 可以提供一定程度的隔离 类似于操作系统提供的进程隔离 我使用它的一个实际用途是动态加载 插件 DLL
  • 如何在android中将url加载到webview时显示进度?

    我正在将 url 加载到 webview 中 WebView webview WebView findViewById R id webview webview loadUrl url 加载网址需要一些时间 在此期间显示空白屏幕 我想在加载
  • 递归查询挑战 - 简单的父/子示例

    注意 在 postgresql 上的 RhodiumToad 的帮助下 我找到了一个解决方案 我将其作为答案发布 如果有人可以对此进行改进 请加入 我还没能适应之前的递归查询解决方案到以下有向无环图 其中包括多个 根 无祖先 节点 我正在尝
  • System.Diagnostics.Process.Start 针对不同域的进程

    我们有一个场景 我们需要用户能够启动 SQLServer 并使用与当前登录的域不同的域进行身份验证 因此 为了澄清其设置方式 用户到达办公室并登录公司域 为简单起见 我们将其称为 LOCALDOMAIN 他们希望连接到不同域上的远程数据库
  • TWTweetComposeViewController 中的错误?

    我正在使用 TWTweetComposeViewController 如果可用 从我的 iOS 应用程序内部发送推文 我用样板文本预先填充视图控制器 然后让用户自行修改和发送 它在大多数情况下都非常有效 蒸馏下来 它看起来像这样 与body
  • 测试|无法在resetFakeAsyncZone处读取未定义的属性“assertPresent”

    我的 karma v1 4 有问题 测试框架 我所有的单元测试现在都因错误而失败Cannot read property assertPresent of undefined at resetFakeAsyncZone 我已经搜索过解决方案
  • 让 eclipse 调试我的 android 项目

    我正在使用 Eclipse 编写 Android 应用程序 当我单击左侧树视图中的项目 然后单击 调试 时 IDE 会构建一个 APK 并按预期安装在模拟器 设备中 但是 如果我正在编辑文件并且忘记在尝试调试之前首先单击该项目 那么 IDE
  • 如何在网格视图的行命令中找到该控件?

    我怎么能够在 row 命令中找到控件网格视图 实际上 GridViewCommandEventArgs 中没有 Row 因此您需要从命令源命名容器中获取行 GridViewRow row GridViewRow Control e Comm
  • .NET 中的 Java 小程序相当于什么?

    NET 中的 Java 小程序相当于什么 是银光吗 Java applet 还在广泛使用吗 1997 年 当 Java 1 0 发布时 Java applet 是 新的热门事物 几年后 它们变得越来越不受欢迎 主要是因为在计算机上安装Jav
  • 如何实现像Gallery一样的Horizo​​ntalScrollView?

    I want to implement Horizontal ScrollView with some features of Gallery 在图库中 滚动条在一定距离处成对排列 即如果屏幕上显示三个图像 单击最后一个图像将排列在中心 我
  • 通过自动解锁从类返回锁定的资源

    我想要一个返回指向资源的指针的类成员函数 资源应自动锁定和解锁 我考虑创建一个不可复制的对象来处理锁定 您认为以下是一个好的解决方案吗 它是线程安全的吗 STL 中是否已有适用于此用例的工具 template
  • Scala String* 类型(在函数 args 中)

    我有以下方法 def m a String 我想知道此语法中星号 符号的用途是什么 我显然是 Scala 的新手 我用谷歌搜索 但可能搜索错误的东西 任何帮助表示赞赏 Cheers 它被称为 var args 变量参数 def concat
  • 我可以在批处理脚本中的一个“查找”命令中搜索多个字符串吗?

    我有一个 Windows 批处理脚本 它将在文件中查找字符串 find i WD6 Inputpath file txt if errorlevel 0 GOTO somestuff 目前 这就是我的代码的样子 我遇到了一个新字符串 我想在
  • 如何使用 C#6“使用静态”功能?

    我正在看其中的几个新功能在C 6 具体来说 使用静态 using static is a new kind of using clause that lets you import static members of types direc