首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Action.ToString()可以返回"System.Action"以外的任何内容吗?

当我们在C#中使用Action.ToString()时,它会返回一个字符串,表示Action的类型。通常情况下,这个字符串是"System.Action",但是,如果你在Action中使用了泛型,那么返回的字符串可能会包含泛型参数的类型信息。

例如,如果你有一个Action,如下所示:

代码语言:csharp
复制
Action<int, string> action = (intValue, stringValue) => { };

当你调用action.ToString()时,返回的字符串可能是"System.Action`2System.Int32,System.String"。这表示这个Action接受两个参数,一个是Int32类型,另一个是String类型。

需要注意的是,Action.ToString()返回的字符串通常是用于调试和开发期间的诊断,而不是用于在运行时获取Action的类型信息。如果你需要在运行时获取Action的类型信息,可以使用typeof运算符或者反射API。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

有什么处理pdf可以删pdf指定文本内容以及调整文本内容

问了一个Python处理PDF数据实战问题。问题如下: 大佬们 想请教下有什么处理pdf可以删pdf指定文本内容以及调整文本内容,都是文字型PDF。...文件因为安装了加密系统没法发出,查了下一些库介绍似乎更多是读内容 删页 合并拆分等。 二、实现过程 这里【瑜亮老师】给了一个思路:你自己用word制作内容,然后转成pdf,发到群里不就行了?...把想要删除部分框选好,最好是有原文件+处理后结果文件,这样更一目了然 顺利地解决了粉丝问题。...:我想把上方框选两个信息直接删除(系统导出PDF自动生成出来固定内容,日期取是导出当天) 下方框选内容细节部分1.【客户】及对应文本值 删除 ; 2....【资质要求】中对应文本值 替换成固定值 如XXX。我试着去看看word处理 谢谢老师提示。 三、总结 大家好,我是Python进阶者。

9010

08Prism WPF 入门实战 - Cmd&EeventAggregator

(1)VM层定义命令(带参命令则需要在命令尖括号内指定参数类型) (2)View层绑定命令 (3)指定命令源 (4)指定执行命令控件 详细内容 command定义。...(1)VM层定义复合命令以及命令 (2)将命令注册到复合命令中 (3)View层绑定命令 (4)指定命令源 (5)指定执行命令控件 详细内容 定义并实现需要被组合command。...聚合事件使用分为2块。 (1)发布消息 (2)订阅消息 详细内容 Prism中聚合事件定义。...to the event. // // 返回结果: // true if there is an System.Action`1 that matches...所以在代码中慎用pub/sub这个特性,或及时取消不用订阅因为这套机制存在强引用关系不会随着作用域结束而结束(GC无法回收),如果任由发展会导致客户端内存上涨;解决这个问题除了及时取消订阅,还可以在订阅时指定

32210

Framework 4.0 新关键字dynamic 之我见(一)

有了这个关键字,我们在写代码时就可以不用确定某个变量、属性、方法(不包含void方法,文中所说方法都是不包含void类型了,一切都交给Framework吧。...这里要说一点,也是非常重要一点: Dynamic 在没有运行时候,是一个Object类型,其实也可以说没有Type,它是在Runtime时才被确定是那种类型,所以这里.ToString()方法...,在IDE中是没有任何智能感知,有点回到记事本时代了,呵呵。...不过测试下来,如果你用了一个Int类型的话,程序会明显快很多,其中原因,大家也可以研究一下。...,就是为了程序在后面的运行时,所有的类型都是强类型,至于强类型好处,大家可以找找博客园中其他大大一些好文章。

44970

.NET 6新东西--高性能日志

一提到日志记录,大家就会想到log4net,如果提到.NET中日志记录,一定会想到ILogger,这个ILogger是.NET中常用提供日志记录方式,下面的代码是.NET Core WebAPI...,但它需要手工编写大量LoggerMessage.Define代码,并且formatString消息模板中参数占位符没有进行任何控制,可能会导致传参错误。...System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Extensions.Logging.Generators", "6.0.5.2210")] private static readonly global::System.Action...使用LoggerMessageAttribute虽然可以提高日志记录性能,但它也有其缺点: 使用partial方法声明必须将类也定义成partial。...,但是可以通过定义成record class或自定义ToString()方法变通解决。

84410

CA1045:不要通过引用来传递类型

按值传递表示方法不能更改指针以使其指向引用类型新实例,但是它可以更改它所指向对象内容。 对于大多数应用程序,这就足够了,并生成了所需行为。...如果方法必须返回不同实例,请使用该方法返回值来实现此目的。 有关对字符串执行操作并返回字符串新实例各种方法,请参阅 System.String 类。...如何解决冲突 要修复由值类型引起此规则冲突,需使方法返回对象作为其返回值。 如果该方法必须返回多个值,请重新设计它以返回保存值对象单个实例。...要修复由引用类型引起此规则冲突,需确保所需行为是否为返回引用新实例。 如果是,则该方法应使用其返回值来执行此操作。...包含特定 API 图面 你可以根据代码库可访问性,配置要针对其运行此规则部分。

44430

ILRuntime学习

CLR绑定使跨域调用更快速,绑定后跨域调用性能能达到slua2倍左右(从脚本调用GameObject之类接口) 支持跨域继承 完整泛型支持 拥有Visual Studio调试插件,可以实现真机源码级调试...; StackObject* ptr_of_this_method; //这个是最后方法返回后esp栈指针值,应该返回清理完参数并指向返回值,这里是只需要返回清理完参数值即可...可以选择性对经常使用CLR接口进行直接调用,从而尽可能消除反射调用开销以及额外GC Alloc CLR绑定会生成较多C#代码,最终会增大包体和Native Code内存耗用,所以只添加常用类型和频繁调用接口即可...Vector3等Unity常用值类型如果不做任何处理,在ILRuntime中使用会产生较多额外CPU开销和GC Alloc 我们通过值类型绑定可以解决这个问题,只有Unity主工程值类型才需要此处理...如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1K30

CA1021:避免使用 out 参数

但是,它可以更改它所指向对象内容。 对于大多数应用程序,这就足够了,还生成了所需行为。 如果方法必须返回不同实例,请使用该方法返回值来实现此目的。...如何解决冲突 要修复由值类型引起此规则冲突,需使方法返回对象作为其返回值。 如果该方法必须返回多个值,请重新设计它以返回保存值对象单个实例。...要修复由引用类型引起此规则冲突,需确保所需行为是否为返回引用新实例。 如果是,则该方法应使用其返回值来执行此操作。 何时禁止显示警告 可禁止显示此规则发出警告。...配置代码以进行分析 使用下面的选项来配置代码库哪些部分要运行此规则。 包含特定 API 图面 你可以仅为此规则、为所有规则或为此类别中所有规则配置此选项(设计)。...包含特定 API 图面 你可以根据代码库可访问性,配置要针对其运行此规则部分。

48230

【编程经验】printf专题:你可能不知道printf用法【文末有福利】

首先,以下四种printf用法想必大家都应该很熟悉。 除此以外,各种\n、\t 、\r、\b等转义字符不再讲解,大家可自行查表。...多进制转换功能 除了上图截图所示,我们可以输出常规字符、数字、字符串、小数以外,我们还可以输出我们想要十进制对应八进制、十六进制数。...请自行思考上机测试) *号用法 *在printf里可以代表一个泛整数,可以代表任何整数。它可以出现在位宽位置,也可以出现在小数位数位置。...但在printf双引号外面,必须要有*对应数值。 比如我位宽不确定,想用整数a表示,则可以写成: 表示输出浮点数a,占b个宽度,能看明白?...同理,也可以左对齐,也可以再用一个*数字表示小数。注意*和数字对应关系即可。如下: 返回作用及用法 不少同学问过我说printf返回值是什么意思。

69480

背后故事之 - 快乐Lambda表达式(一)

来看看使用一个委托一共要以下几个步骤: 用delegate关键字创建一个委托,包括声明返回值和参数类型 使用地方接收这个委托 创建这个委托实例并指定一个返回值和参数类型匹配方法传递过去   复杂...Action 没有输入参数和返回泛型委托 Action 可以接收1个到16个参数返回值泛型委托 Func 可以接收0到16个参数并且有返回泛型委托...: 如果只有一个参数,不需要写() 如果只有一条执行语句,并且我们要返回它,就不需要{},并且不用写return Lambda可以异步执行,只要在前面加上async关键字即可 Var关键字在大多数情况下都不能使用...两个方法所编译出来内容是一样, DoSomtingNormal和c__DisplayClass1.b__0,它们里面的内容是一样。但是最大不一样,请注意了。...返回方法   我们在JavaScript中可以直接return一个方法,在.net中虽然不能直接返回方法,但是我们可以返回一个表达式。

62570

WPF 多个 StylusPlugIn 事件触发顺序

_plugInCollectionList 就是全局添加到元素 StylusPlugInCollection 列表,从上面代码可以看到没有做任何排序,也就是拿到第一个可以命中元素就返回。...StylusInput 线程拿到 StylusPlugInCollection 是第一个满足条件,而刚好按照视觉树是 Control1 先添加到视觉树,所以返回就是第一个元素 在第一个元素返回之后...System.Windows.Input.StylusPlugIns.StylusPlugInCollection.ExecuteWithPotentialLock(System.Action action...方法,在这个方法将会决定添加 StylusPlugIn 所在字段顺序,因为在通过命中测试获取点击到元素是按照字段列表顺序获取,返回第一个满足元素。...在字段列表顺序将会决定哪个元素响应 在 FindZOrderIndex 将会让 Control2 添加到最前,也就是在触摸线程命中测试将会返回 Control2 触发,而在主线程命中测试也是返回第二个控件

73220

【c#版本Openfeign】Net8 自带OpenFeign实现远程接口调用

,打上特性,就可以生成一个对应代理类,调用远程Api接口,太令人心动,为此特地升级了VS,下载了Net8,体验新功能,接下来,我们就看看他使用案例。...,我这里叫TestApi,这里会根据使用了AutoClient特性自定生成一个BussIness类,在下图可以看到,自动生成了一个AutoClient.g.cs文件,里面的类就是Bussiness,其中包括了我们...TestPost方法以及路由信息,在上面的代码中,我们使用了Post特性,代表我们这个是Post请求,以及方法参数限制必须有一个CancellationToken,这个Post里面的内容,就是我另外一个项目种接口地址...global::Microsoft.Extensions.DependencyInjection.IServiceCollection services, global::System.Action...,可以看到,路由是Test,方法路由是TestPost,返回了一个字符串true,因为,在使用AutoClient时候,返回类型必须是引用类型,接下来,我们调用一下测试看看,在返回结果中,我们可以看到返回了我们在另一个项目中返回结果

37320

从汇编角度与你分析「为什么不要用异或来交换两个数」

而在我初步了解到这种做法原理之后,有一种数学家跑来做算法题感觉,这种做法确实在不借助临时变量前提下,很巧妙利用了数学原理交换了两个数。 但是这对计算机来说,真的比借助变量来得高效?...至于变量创建,由于这个变量只是栈上分配,整个创建过程几乎是纳秒级别,几乎不会对执行时间造成任何影响,也就是创建成本是完全可忽略。...因为在借助临时变量方案中,只涉及两次内存读写,而在“异或”方案中除了要执行三次“异或”运算以外,我们还需要进行六次读和三次写(理论上)。...将eax置0:设置返回值 movl %edx, b ;将edx内容存入到内存b中(写) 对应汇编指令还是比较清晰:要参与运算变量首先要从内存载入到寄存器中,所以要将两个变量交换只需按相反顺序再存入到内存中就可以了...可以看到这个「借助临时变量方案实际上只包含四个内存与寄存器之间交换数据指令,两读两写」。

74840
领券