C#开发 降.NET版本问题解决笔记

news2024/11/18 18:24:33

C#开发 降.NET版本问题记录

以下都是我在使用.NET4.7.2版本开发控件完成后又将控件代码降位使用.NET4.5时所遇到的问题,和解决方式

  1. Struct构造函数:“必须将字段完全分配,然后控制权才能返回给调用者。”

原始的代码和错误如下:

在这里插入图片描述

如果在具有自动属性的结构上看到此错误,只需通过执行以下: this()示例从已参数化的结构中调用无参数构造函数:

public struct MyPoint
    {
        public decimal X { get; set; }

        public decimal Y { get; set; }

        public MyPoint(decimal x, decimal y) : this()
        {
            X = x;
            Y = y;
        }

    }

通过从构造函数声明中调用:this(),您可以让ValueType基类初始化自动属性的所有后备字段。我们无法在构造函数上手动执行此操作,因为我们无权访问自动属性的后备字段。
ValueType是所有结构的基类。

如此问题便可以得到解决。

在这里插入图片描述

2.赋值问题
	public string displayText { get; set; } = "电力曲线图";

    public string sidebarText { get; set; } = "EVADA";

像以上代码这样给变量赋值,在低版本中是不支持的,所以我们将全部改为在构造方法中赋值。

在.NET Framework 4.5 中,使用属性初始化器(Property Initializers)是不支持的,因此需要在构造函数中初始化这些属性。

例如:

// 构造函数
    public 你的构造方法()
    {
        displayText = "电力曲线图";

        sidebarText = "EVADA";
    }
3.返回值问题 语法(get => value;
get => curveEntity._dataSource;

以上代码是C# .NET4.7.2版本下的代码,【 get => curveEntity._dataSource;】在.NET 4.5版本编译无法通过

在.NET Framework 4.5 版本中,使用 C# 6.0 引入的简化属性(Expression-bodied property)语法(get => value;)是不支持的。需要使用传统的 get 语法。以下是.NET Framework 4.5 兼容的代码:

get { return curveEntity._dataSource; }
4.条件成员访问表达式(null 条件运算符 ?.
if (data?.Count > 1)

以上代码是C# .NET4.7.2版本下的代码,【if (data?.Count > 1)】在.NET 4.5版本编译无法通过

在.NET Framework 4.5 中,不支持条件成员访问表达式(null 条件运算符 ?.)。可以使用传统的条件判断语句来替代。以下是.NET Framework 4.5 兼容的代码:

if (data != null && data.Count > 1)

再例如:

DataRefreshed?.Invoke(this, EventArgs.Empty);

修改为:

if (DataRefreshed != null)
{
    DataRefreshed(this, EventArgs.Empty);
}

我是将军,我一直都在,。!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PMP证书的价值如何?

2022年开始,PMP考试启用了新考纲,不光考试内容进行了大刀阔斧的改革,出题方式也进行了更新。除原有的PMBOK6和PMBOK7主考教材外,还增加了一本《敏捷实践指南》。 别小看新加的这本书,它虽然与PMBOK代表的预测法属于完…

史上最强,从0到1接口自动化测试落地实施,资深老鸟整理...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 为什么要做接口测…

Python 编程基础 | 第一章-预备知识 | 1.3、运行方式

一、Python运行代码 可以使用三种方式运行Python,如下: 1、交互式 通过命令行窗口进入 Python 并开始在交互式解释器中开始编写 Python 代码 2、命令行脚本 可以把代码放到文件中,通过python 文件名.py命令执行代码,如下&#xff…

智慧公厕云管理平台:筑牢云上“城市公共厕所一张网”

在现代城市中,公共厕所是人们日常生活中不可或缺的一部分。然而,过去的公共厕所管理方式往往效率低下,维护困难,给市民带来了不便。为了解决这一问题,智慧公厕应运而生,赋予传统公共厕所智慧化的管理效能。…

论文精读:Feature Pyramid Networks for Object Detection

文章目录 1. 摘要1.1 背景1.2 提出新方法1.3 贡献 2. 引言2.1 提出问题2.2 叙述Feature pyramid2.3 叙述深度卷积网络2.4 Feature pyramid的局限2.5 使用deep ConvNet计算多尺度特征的方式2.6 提出我们的方法2.7 贡献 3. 相关工作3.1 手工工程特征和早期神经网络3.2 深度卷积目…

工业RFID识别设备可以在哪些行业应用?

工业识别设备主要是用于工业领域的RFID读写设备,它可以在产线、工厂、仓储物流等领域应用,非接触的实时读取标签信息,并且将读取的信息上传到电脑信息管理系统中。 工业RFID识别设备可以在哪些行业应用? 1、汽车行业 汽车制造业的产品结构复…

简单的springboot整合minio完成上传查询等

1、本地下载minio brew install minio/stable/minio2、下载结果 3、启动minio /opt/homebrew/opt/minio/bin/minio server --config-dir/opt/homebrew/etc/minio --address:9000 /opt/homebrew/var/minio4、启动完成 5、web页面 账号密码: minioadmin 登陆完成…

快递查询方法分享:如何批量查询并筛选大量超时件?

快递批量查询工具推荐:一键筛选超时件,高效管理物流信息! 在现代快节奏的生活中,快递已成为人们日常不可或缺的一部分。然而,随着快递量的不断增加,如何高效地查询和管理快递成了一个问题。今天&#xff0…

Optimus—多学科仿真集成与优化设计平台

Optimus是比利时Noesis Solutions公司专注研发的一款多学科仿真集成与优化设计软件产品。通过Optimus平台,可管理多学科的仿真流程及数据,自动显示和探索设计空间,进行产品设计过程中的自动性能优化,实现多学科、多指标参数的均衡…

【三相有源电力滤波器】使用同步参考系控制的三相有源功率滤波器(Simulink)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

ElementUI实现增删改功能以及表单验证

目录 前言 BookList.vue action.js 展示效果 前言 本篇还是在之前的基础上&#xff0c;继续完善功能。上一篇完成了数据表格的查询&#xff0c;这一篇完善增删改&#xff0c;以及表单验证。 BookList.vue <template><div class"books" style"pa…

veImageX 演进之路:Web 图片加载提速50%

背景说明 火山引擎veImageX演进之路主要介绍了veImageX在字节内部从2012年随着字节成长过程中逐步演进的过程&#xff0c;演进中包括V1、V2、V3版本并最终面向行业输出&#xff1b;整个演进过程中包括服务端、客户端、网络库、业务场景与优化等多个角度介绍在图像处理压缩、省成…

如何快速轻松自动添加微信好友?

有些客需要换新的微信号&#xff0c;想把以前微信号上的好友全部加回来&#xff0c;但是因为微信系统的规定&#xff0c;频繁加好友容易被封号&#xff0c;而且手动添加好友太费时费力&#xff0c;还要控制加好友的间隔时间。那么有没有什么方法可以快速轻松自动添加好友呢&…

郁金香2021年游戏辅助技术中级班(一)

郁金香2021年游戏辅助技术中级班&#xff08;一&#xff09; 用代码读取utf8名字字节数组搜索UTF-8字符串 用CE和xdbg分析对象名字从LUA函数的角度进行分析复习怪物名字偏移 用CE和xdbg分析对象数组认识虚函数表分析对象数组 分析对象数组链表部分链表的定义链表的数据在内存里…

实现自动化获取1688商品详情数据接口经验分享

获取电商平台商品详情数据&#xff0c;主要用过的是爬虫技术&#xff0c;过程比较曲折&#xff0c;最终结果是好的。我将代码都封装在1688.item_get接口中&#xff0c;直接调用此接口可以一步抓取。 展示一下获取成功示例&#xff1a; 1688商品详情页展示 传入商品ID调用item…

Typora安装无需破解免费使用

Typora简介&#xff1a; 在介绍Typora软件之前&#xff0c;需要先介绍一下MARKDOWN。 MARKDOWN是一种轻量型标记语言&#xff0c;它具有“极简主义”、高效、清晰、易读、易写、易更改纯文本的特点。 Typora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、…

WebDAV之π-Disk派盘 + 墨阅

墨阅是一款专注于帮助用户离线缓存网页文档图书漫画的免费工具APP。您可以利用墨阅收集来自互联网网站平台的公开文章,图片,漫画等,可以对网页样式进行调整,支持自定义动作,批量离线等功能方便用户日常离线。目前支持小说,markdown,图片,pdf,网页等离线功能。支持进行…

在比特币上支持椭圆曲线 BLS12–381

通过使用智能合约实现来支持任何曲线 BLS12–381 是一种较新的配对友好型椭圆曲线。 与常用的 BN-256 曲线相比&#xff0c;BLS12-381 的安全性明显更高&#xff0c;并且安全目标是 128 位。 所有其他区块链&#xff0c;例如 Zcash 和以太坊&#xff0c;都必须通过硬分叉才能升…

忍不住分享,这个卧室太好看了。

&#x1f4dd;项目信息&#x1d477;&#x1d493;&#x1d490;&#x1d48b;&#x1d486;&#x1d484;&#x1d495; &#x1d48a;&#x1d48f;&#x1d487;&#x1d490;&#x1d493;&#x1d48e;&#x1d482;&#x1d495;&#x1d48a;&#x1d490;&#x1d48f;…

科东软件2023上海工博会:一场科技盛宴的完美收官

9月23日&#xff0c;为期5天的中国国际工业博览会&#xff08;下称“工博会”&#xff09;在国家会展中心&#xff08;上海&#xff09;圆满落幕。这是一场集结全球创新力量与科技创新成果的璀璨盛宴&#xff0c;也是推动未来科技与产业发展的新型工业盛会&#xff0c;更是一次…