gpt4 book ai didi

.net - 为什么 .NET 4.5 中没有 CallerTypeNameAttribute?

转载 作者:行者123 更新时间:2023-12-02 21:16:46 25 4
gpt4 key购买 nike

在 .NET 4.5 中,CLR 团队添加了:

为什么没有为调用者的类型添加一个?

最佳答案

设计团队之外的人很难回答这个问题,但我想说,CallerTypeNameAttribute 没有强大的用例。

文件和行属性为您提供了记录例程的扩展信息,否则这些信息将无法获得。成员名称允许记录并简化 INotifyPropertyChanged 的实现,同时还允许安全的名称重构,而无需搜索字符串。

调用者类型已经可以使用typeof(CurrentType).Name传递给给定的方法,因此它可能不需要额外的属性。您可以说调用者成员名称也可以使用 MethodBase.GetCurrentMethod 来获取,但这可能总是强制反射,并且 typeof 可能已被优化掉,因此您已经获得了好处安全重构和对性能的影响较小。

使用 typeof 而不是可能的属性的唯一缺点是属性方法不会受到混淆的影响。

关于.net - 为什么 .NET 4.5 中没有 CallerTypeNameAttribute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12185983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com