广告
返回顶部
首页 > 资讯 > 精选 >Linq参数类型有哪些
  • 832
分享到

Linq参数类型有哪些

2023-06-17 22:06:28 832人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关Linq参数类型有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。反射问题:远离类型安全错误至少就我自己而言,使用C#这种类型安全语言时,每当按下Ctrl+Sh

这篇文章将为大家详细讲解有关Linq参数类型有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

反射问题:远离类型安全错误

至少就我自己而言,使用C#这种类型安全语言时,每当按下Ctrl+Shift+B(或Shift+F6)键进行编译时,会有一种轻松和放心的感觉。我知道,由于使用错误的类型而产生的怪异且难于调试的运行时错误,以及像“方法缺失”这种提示几乎从未出现。但是使用反射时,如果我不小心,就会出现臭名昭著的TargetInvocationException和一些NullReferenceException之类的异常。下面正是我所遇到的:

  1. MethodInfo method = typeof(Mock).GetMethod("PublicMethodParameters",
    newType[]{ typeof(string), typeof(int) })); 

如果对Mock类应用重构以便重命名该方法,会发生什么情况呢?如果Linq参数类型发生更改,会发生什么情况呢?毫无疑问,会发生运行时异常!如果采用一个使用大量反射的插入式灵活框架,这决不是一个小问题。由于害怕出错而不敢应用重构(或者使其代价昂贵)必然会限制您改进设计和完善代码的能力。那么,试着替换魔力字符串(magic strings)和松散类型的Type数组将会如何呢?

  1. MethodInfo info = Reflector.Method<Mock, string, 
    int>((x, y, z) => x.PublicMethodParameters(y, z)); 

通过Linq进行强类型反射

其工作原理是作为参数传递的λ表达式(就像前一版本.net中的委托一样)不一定要执行。上面的代码基本上构造了一个可以调用类型上给定方法的λ表达式。声明方法的目标类型的类型就是Method<> static generic方法的***个类型参数。您可指定的可选Linq参数类型将是您要调用的方法的Linq参数类型(如果存在)。如果我想获得无参数方法的MethodInfo,则表达式将是:

MethodInfo info = Reflector.Method<Mock>(x => x.PublicMethodNoParameters());

这比您以前见到的任何λ表达式都典型。在λ表达式中,如果您需要传递附加参数,则必须将所有内容放到括号中(上例中的x、y和z)。用于属性和字段的类型映射功能是相同的:

PropertyInfo property = Reflector.Property<Mock>(x => x.PublicProperty);  FieldInfo field = Reflector.Field<Mock>(x => x.PublicField);

关于Linq参数类型有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Linq参数类型有哪些

本文链接: https://www.lsjlt.com/news/293675.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linq参数类型有哪些
    这篇文章将为大家详细讲解有关Linq参数类型有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。反射问题:远离类型安全错误至少就我自己而言,使用C#这种类型安全语言时,每当按下Ctrl+Sh...
    99+
    2023-06-17
  • Linq匿名类型有哪些
    这篇文章主要讲解了“Linq匿名类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linq匿名类型有哪些”吧!LINQ使查询成为了.NET中头等的编程概念,被查询的数据可以是XML(L...
    99+
    2023-06-17
  • python参数类型有哪些
    python中参数的类型:1.必选参数;2.默认参数;3.可变参数;4.关键字参数;python中参数的类型有以下几种必选参数python中必选参数是指定义必选参数后,每次调用都需要对参数进行赋值,否则将报错。默认参数python中默认参数...
    99+
    2022-10-20
  • C#参数类型有哪些
    本篇内容主要讲解“C#参数类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#参数类型有哪些”吧!C#参数类型◆值参数:不含任何修饰符。方法中的形参是实参的一份拷贝,形参的改变不会影响到...
    99+
    2023-06-17
  • Python中有哪些参数类型
    本篇文章为大家展示了Python中有哪些参数类型,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均...
    99+
    2023-06-14
  • php函数参数类型有哪些
    php中函数的参数类型有默认参数、可变参数和遗漏参数三种默认参数php中默认参数是指在声明函数时的赋值参数,默认参数一般在函数的最后面,调用默认参数时可以不传递参数。可变参数php中可变参数是指一个函数有多个可变数目的参数,一般使用func...
    99+
    2022-10-22
  • Linq中有哪些匿名委托类型
    今天就跟大家聊聊有关Linq中有哪些匿名委托类型,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。先来看一个LINQ示例:using System;  us...
    99+
    2023-06-17
  • Linq中有哪些局部变量类型
    本篇文章给大家分享的是有关Linq中有哪些局部变量类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linq局部变量类型使用这个特性,声明一个Linq局部变量,它的具体类型是通...
    99+
    2023-06-17
  • LINQ to XML的文档类型有哪些
    这篇文章主要讲解了“LINQ to XML的文档类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ to XML的文档类型有哪些”吧!LINQ to XML可以看作是一个&nb...
    99+
    2023-06-17
  • LINQ To XML类有哪些
    本篇内容介绍了“LINQ To XML类有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是LINQ To XMLLINQ to XM...
    99+
    2023-06-17
  • 云服务器的cpu参数有哪些类型
    云服务器的CPU参数包括: 内存:云服务器通常使用内存来存储和执行数据。内存的大小取决于服务器的规模,但一般来说,一个CPU可以支持大量内存。 硬盘容量:硬盘是云服务器存储数据和访问数据的重要部件,硬盘容量的大小决定了云服务器可以处理的...
    99+
    2023-10-27
    参数 类型 服务器
  • 云服务器配置参数有哪些类型
    CPU:云服务器通常使用处理器来管理资源的分配和控制计算机的操作。CPU是云服务器中最关键的配置参数之一。CPU的性能对云服务器的性能和稳定性有很大的影响。 内存:云服务器通常使用内存来存储数据和资源。内存的大小决定了云服务器的可扩展性和...
    99+
    2023-10-28
    服务器配置 参数 类型
  • javascript中有哪些参数类型转换的方法
    javascript中有哪些参数类型转换的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供...
    99+
    2023-06-14
  • C#类型参数约束的应用方法有哪些
    本篇内容主要讲解“C#类型参数约束的应用方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#类型参数约束的应用方法有哪些”吧!C# 类型参数约束使用的原因:如果要检查泛型列表中的某个项以...
    99+
    2023-06-17
  • LINQ to SQL事务模型有哪些
    这篇文章主要介绍了LINQ to SQL事务模型有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。三种LINQ to SQL事务模型,分别是:◆显式本地事务:调用 Subm...
    99+
    2023-06-17
  • Linq扩展函数有哪些
    这篇文章主要为大家展示了“Linq扩展函数有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linq扩展函数有哪些”这篇文章吧。首先介绍Linq扩展函数(泛型函数)的方式提供的函数:◆用不同方...
    99+
    2023-06-17
  • scala数据类型有哪些
    这篇文章主要讲解了“scala数据类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“scala数据类型有哪些”吧!Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递。对象 ...
    99+
    2023-06-02
  • Hive数据类型有哪些
    这篇文章将为大家详细讲解有关Hive数据类型有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。hive 目前支持的数据类型如下:-- 数值类型 Numeric TypesTINYINT (1-byte ...
    99+
    2023-06-03
  • python数据类型有哪些
    Python数据类型包括以下几种:1. 数字类型(Numbers):包括整数、浮点数和复数。2. 字符串类型(Strings):用于...
    99+
    2023-05-13
    python数据类型 python
  • Go数据类型有哪些
    这篇文章主要介绍“Go数据类型有哪些”,在日常操作中,相信很多人在Go数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go数据类型有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!Go有四种...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作