• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#预处理指令之#line,#pragma warning 详细解析

C#预处理指令之#line,#pragma warning 详细解析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#预处理指令,预处理指令,c语言预处理指令,应输入预处理器指令,预处理器指令等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

#line
#line 使您可以修改编译器的行号以及(可选)错误和警告的文件名输出。下面的示例说明如何报告与行号关联的两个警告。#line 200 指令强迫行号为 200(尽管默认值为 #7)。另一行 (#9) 作为默认 #line 指令的结果跟在通常序列后。

示例
下面的示例说明调试器如何忽略代码中的隐藏行。运行此示例时,它将显示三行文本。但是,当设置如示例所示的断点并按 F10 键逐句通过代码时,您将看到调试器忽略了隐藏行。还请注意,即使在隐藏行上设置断点,调试器仍会忽略它。

在日常开发的过程中我们总是会经常对代码进行编译,而在编译的过程中会出现许多信息,许多无用的警告信息总是会在便一点过程中提示出来,以干扰一些主要的警告,对此也是可以通过预处理器指令来进行关闭来阻止其显示,常见的警告如下(CS0219、CS0681等):

看一个例子:

    [Obsolete("过期了",false)]
    public static void aa()
    {

    }


    static void Main()
    {
        int t=5; //警告:t已赋值,但其值从未使用
        aa(); //警告:过期了

    }
}
</div>
编译生成消息如下:

注意:我所使用的是vs2010如果多次编译会自动将警告去除,如希望确保警告在输出中被显示,可以为项目做下清理:

清理的作用就是将之前在bin目录中的程序集文件删除

如果我们希望不显示上图红框内的警告,我们可以用#pragma warning 指令来消除这些警告

在之前代码上添加预处理指令:

    int i = 10;//警告:C.i已赋值,但从未使用过它的值得

    [Obsolete("过期了",false)]
    public static void aa()
    {

    }


    static void Main()
    {
        int t=5; //警告:t已赋值,但其值从未使用
        aa(); //警告:过期了

    }
}
</div>
再次生成的时候发现警告消失了...

</div>

其中disable/restore分别代表了禁用和开启警告,而后面的编号则代表了警告的编号,此处编写警告编号时无需以“CS”开头。

而这句代码只需书写在需要禁用或者开启的类文件中即可,这样此类对应的0618警告就不会出现了。

但是需要注意的是#pragma warning只对单个文件有作用,如果想禁用多个文件的警告可以使用编译器的/nowarn指令,具体可以见MSDN:点我进入

PS:#pragma 是一个单独的指令,而warning只是其中一个选项,#pragma的作用是:用于给编辑器提供特殊的指令,说明如何编译包含杂注的文件。

</div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#预处理器指令的用法实例分析
  • C#预处理指令之#line,#pragma warning 详细解析

相关文章

  • 2017-05-28richtextbox控件插入链接代码分享
  • 2017-05-28c#获取gridview的值代码分享
  • 2017-05-28C#中volatile与lock用法
  • 2017-05-28C#检查远程或本地磁盘使用率
  • 2017-05-28C#操作SQLite数据库之读写数据库的方法
  • 2017-05-28C#实现强制关闭当前程序进程
  • 2017-05-28C#应用XML作为数据库的快速开发框架实现方法
  • 2017-05-28C#中事件的动态调用实现方法
  • 2017-05-28C#实现的json序列化和反序列化代码实例
  • 2017-05-28深入c# GDI+简单绘图的具体操作步骤(四)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#实现从windows剪贴板获取内容的方法
    • C# VB 实现10进制 16进制之间互相转换
    • C#调用dos窗口获取相关信息的方法
    • C#使用Object类实现栈的方法详解
    • C#中 paint()与Onpaint()的区别
    • c#使用htmlagilitypack解析html格式字符串
    • C#正则表达式分解和转换IP地址实例(C#正则表达式大全 c#正则表达式语法)
    • C#使用GET、POST请求获取结果
    • C#运行CGI程序实例
    • C# WinForm打开PDF文件并在窗体中显示

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有