C# static关键字—— 对象引用对于非静态字段、方法或属性是必需的

news/2024/12/17 10:47:45/文章来源:https://www.cnblogs.com/Dongmy/p/18611861

原文链接:https://blog.csdn.net/Jeffxu_lib/article/details/96425138

在 C# 中,当主函数调用另一个非静态函数时总是提示: “ 对象引用对于非静态的字段、方法或属性是必需的 ”

一、错误分析

1、因为 f02() 是非静态函数;而主函数 Main 前有关键字 static ,其为静态函数。所以当静态函数调用非静态函数时,会出现如上所示的错误。

 

2、C# 的类的静态方法规定:类中静态的方法、成员函数只能访问静态的数据成员或者静态的方法。 使用了关键字 static 代表是静态方法,该静态方法只能调用外面其他的静态函数或静态变量(对于外部的非静态函数或变量,都不能调用)。

二、解决方法

方法一:在被调用的非静态函数或变量前加 static 关键字,将其变成静态方法或变量。以被静态函数调用。

方法二:将被调用的函数封装在另一个类中,然后在主调函数中对被调函数所在的类进行实例化,通过该实例化的对象来对该方法进行调用。此时被调函数前就不需要再加 static 关键字。

【总结】:“static修饰的函数或变量都是在类初始化的时候加载的,而非静态的变量都是在对象初始化的时候加载。”

三、static 用法拓展

1、在一个类中,由 static 修饰的方法或变量,如果在别的类中进行调用时,只能通过类名来进行访问。

2、当构造对象的时候,对象中只包含普通字段,不包含静态字段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/854227.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

管道传输

提交运行 ls | sort -r的结果,总结管道的功能 管道的功能总结: 数据流传输: 管道允许将一个命令的输出直接传输到另一个命令的输入,无需中间文件。 命令组合: 可以组合多个命令,实现复杂的数据处理流程。 效率提升: 由于数据在内存中直接传输,避免了磁盘 I/O,提高了处…

网站颜色在哪里修改图片,网站颜色和图片修改指南

修改网站的颜色和图片可以提升网站的视觉效果和用户体验。以下是详细的步骤:备份文件:使用FTP工具(如FileZilla)下载网站的所有文件。 确保备份文件的安全。编辑CSS文件:使用代码编辑器(如VS Code、Sublime Text)打开style.css文件。 根据需求修改颜色。例如,修改背景颜…

寻找教育团队协作神器!J 人备考有何优质软件可选?

在教育领域,无论是教育教培团队的日常运营,还是个人备考者的学习提升,高效的协作与管理工具都至关重要。对于注重计划和秩序的 J 人来说,可视化团队协作办公软件更是能契合其工作和学习风格,助力他们更好地达成目标。本文将为您盘点 6 款此类软件,包括国内的板栗看板以及…

Z-BlogPHP 中“主题模板的编译文件不存在”错误的原因是什么?

“主题模板的编译文件不存在”错误通常出现在 Z-BlogPHP 中,表示系统未能正确编译主题模板文件,导致无法正常显示网站内容。以下是常见的原因和解决方法:缓存文件未生成:缓存文件未生成或已损坏,导致系统无法找到编译后的模板文件。 解决方法:登录 Z-BlogPHP 后台管理界面…

如何在 Z-BlogPHP 中临时禁用所有插件以排除插件冲突?

在 Z-BlogPHP 中,如果遇到网站无法正常运行的问题,可能是由于某个插件引起的冲突。为了排除插件冲突,您可以临时禁用所有插件,然后逐步启用插件以确定问题所在。以下是具体的操作步骤:确定问题原因:首先,确认问题是否与插件有关。常见的插件冲突症状包括网站无法加载、后…

如何使用 Lambda 自动添加CloudWatch所有实例磁盘告警及 SNS 通知

利用Lambda轻松实现EC2实例监控 最近新增了一些服务器,因为每个服务器的基础监控都是要做的。我就想,如何能够快速便捷的方式把这些基础指标都监控上呢?本文将详细介绍如何通过Lambda自动为所有EC2实例添加CloudWatch磁盘告警,并在磁盘利用率超过阈值时,通过SNS主题发送通知…

实现hive的bitmap同步到doris

背景: 官方提供的方案不可行 doris提供的hive-udf中:https://doris.apache.org/zh-CN/docs/3.0/ecosystem/hive-bitmap-udf 官网方式如下: 需要使用doris外接hive的元数据地址:hive.metastore.uris 这里有个问题是,很多公司都会有数据安全和权限控制,这个接口一般不会外露…

一款可以完整保留排版的PDF翻译,GitHub增长第一

最近看论文较多,顺手给大家推荐一个用下来觉得不错的开源PDF翻译工具:PDFMathTranslate 目前这款开源项目在GitHub上已经收获了7.6K Star,而且由于一直处于增长趋势榜第一的位置,预计未来还会持续增长许多。 PDFMathTranslate 简介开源项目地址:https://github.com/Byaidu…

在 IIS 中发布网站,使用 PUT、DELETE 等请求方法时,提示错误:HTTP 错误 405.0 - Method Not Allowed

搜了一圈,发现是因为安装了 IIS 的 WebDAV 功能,就会导致站点出现此类问题 一种方法是移除 WebDAV 功能,但比较费时费力 另一种就是在站点的 Web.config 中显式移除 WebDAV 模块 配置文件: <configuration><system.webServer><modules><!-- 移除模块 …

如何用python批量转换.doc文件为.docx文件

需要用到的库: pywin32、os实现效果: 把文件夹下的文件1.doc、2.doc、3.doc 转化成1.docx、2.docx、3.docx,保存到output文件夹下。 代码运行前: 代码运行后: 实现代码:# 批量把".doc"文件另存在".docx"文件import osfrom win32com import clientde…

数据分布检验利器:通过Q-Q图进行可视化分布诊断、异常检测与预处理优化

在机器学习和数据分析中,我们经常需要验证数据是否符合某种特定的分布(如正态分布)。这种验证对于选择合适的统计方法和机器学习模型至关重要。例如许多统计检验和机器学习算法都假设数据服从正态分布。如果这个假设不成立,我们可能需要对数据进行转换或选择其他更适合的方…