ARXML处理 - C#的解析代码(二)

2024-04-09 03:13

本文主要是介绍ARXML处理 - C#的解析代码(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 参数类

参数容器(ECUCPARAMCONFCONTAINERDEF)的PARAMETERS集合类由以下参数类实例构成。

枚举参数(ECUCENUMERATIONPARAMDEF )

配置一个下拉选项,如PORT中一个pin可以配置SPI, CAN, PWM

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-ENUMERATION-PARAM-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCENUMERATIONPARAMDEF {      /// <remarks/>[System.Xml.Serialization.XmlElementAttribute("DEFAULT-VALUE")]public IDENTIFIER DEFAULTVALUE {get {return this.dEFAULTVALUEField;}set {this.dEFAULTVALUEField = value;}}/// <remarks/>[System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]public ECUCENUMERATIONLITERALDEF[] LITERALS {get {return this.lITERALSField;}set {this.lITERALSField = value;}}}

DEFAULTVALUE :默认值,其他参数类也有该属性

LITERALS : 枚举列表

整型参数 (ECUCINTEGERPARAMDEF)

整数参数,如CanIfRxPduId可以配成3。

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-INTEGER-PARAM-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCINTEGERPARAMDEF {/// <remarks/>[System.Xml.Serialization.XmlElementAttribute("WITH-AUTO")]public BOOLEAN WITHAUTO {get {return this.wITHAUTOField;}set {this.wITHAUTOField = value;}}/// <remarks/>public UNLIMITEDINTEGERVALUEVARIATIONPOINT MAX {get {return this.mAXField;}set {this.mAXField = value;}}/// <remarks/>public UNLIMITEDINTEGERVALUEVARIATIONPOINT MIN {get {return this.mINField;}set {this.mINField = value;}}}

MAX: 整型的可配置最大值

MIN: 整型的可配置最小值

WITHAUTO :参数类基本都有,在整型里可以设置为TRUE,这样可以让配置工具自动对一些属性编号,如非常常见的 HandleId

浮点参数(ECUCFLOATPARAMDEF)

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-FLOAT-PARAM-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCFLOATPARAMDEF {/// <remarks/>public FLOATVALUEVARIATIONPOINT MAX {get {return this.mAXField;}set {this.mAXField = value;}}/// <remarks/>public FLOATVALUEVARIATIONPOINT MIN {get {return this.mINField;}set {this.mINField = value;}}}

MAX: 浮点的可配置最大值

MIN: 浮点的可配置最小值

布尔参数(ECUCBOOLEANPARAMDEF)

如CanIfVersionInfoApi,可以设置TRUE为使能

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-BOOLEAN-PARAM-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCBOOLEANPARAMDEF {}

函数参数(ECUCFUNCTIONNAMEDEF)

常用来自定义回调函数名,字符串类型;ECUCSTRINGPARAMDEF, ECUCLINKERSYMBOLDEF用法类似

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-FUNCTION-NAME-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCFUNCTIONNAMEDEF {/// <remarks/>[System.Xml.Serialization.XmlElementAttribute("SHORT-NAME")]public IDENTIFIER SHORTNAME {get {return this.sHORTNAMEField;}set {this.sHORTNAMEField = value;}}

SHORTNAME : 这个属性基本很多类里面都有,后续会经常使用到这个信息。

这篇关于ARXML处理 - C#的解析代码(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887046

相关文章

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进

C#中Guid类使用小结

《C#中Guid类使用小结》本文主要介绍了C#中Guid类用于生成和操作128位的唯一标识符,用于数据库主键及分布式系统,支持通过NewGuid、Parse等方法生成,感兴趣的可以了解一下... 目录前言一、什么是 Guid二、生成 Guid1. 使用 Guid.NewGuid() 方法2. 从字符串创建

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示