按照惯例,类通常被命名为名词,方法命名为动词,接口命名为形容词.

代理的常见命名约定是什么?或者,当代理在类型和其他事物中列出时,有什么好的方法来区分它的名称?

我的直接假设是将委托命名为adjective,因为单个方法接口通常可以替换为委托.

一些 idea :

delegate object ValueExtracting(object container);

delegate object ValueExtractor(object container);

delegate object ValueExtractionHandling(object container);

delegate object ValueExtractionHandler(object container);

推荐答案

就我个人而言,我使用了几种不同的模式:

[Task][State]Handler-UITaskFinishedHandler

[Event]Handler-ControlLoadedHandler

[Function Name]Delegate-DoSomeWorkDelegate——当我需要创建一个委托来调用另一个/新线程上的函数时使用

[Task]Callback-ContainerLoadedCallback-当控件A启动一个操作时使用,该操作由控件B执行大部分工作,并且控件A已将一个依赖项传递给控件B(即,控件A可能已传递一个UI容器供控件B填充,需要通知才能实际显示容器)

当你有一个项目使用了大量多线程或异步WCF调用时,你最终可能会有很多代理在四处游荡,所以采用一个至少对你有意义的标准是很重要的.

.net相关问答推荐

SeriLog LogConext.PushProperty在ASP.NET MVC 5中不能使用OWIN中间件

使用托管身份而不是检测密钥配置Application Insights

获取Ef-Core集合的DeleteBehavior

NETSDK1083:无法识别指定的 RuntimeIdentifierwin10-x64

lock() 是否保证按请求的顺序获得?

在生产中使用实体框架(代码优先)迁移

NonSerialized 属性

使用 Windows 服务和 C# 检测 USB 驱动器插入和移除

什么是编组?当某些东西被编组时会发生什么?

读取方法的属性值

为什么 LINQ .Where(predicate).First() 比 .First(predicate) 快?

你如何调试 MVC 4 API 路由?

如何在 C# 7 中返回多个值?

在 .NET (C#) 中本地存储数据的最佳方式

无法加载文件或程序集System.ValueTuple

如何以编程方式删除 WebClient 中的 2 个连接限制

IEnumerable vs IReadonlyCollection vs ReadonlyCollection 用于公开列表成员

如何将 .NET 应用程序编译为本机代码?

为 webClient.DownloadFile() 设置超时

没有科学记数法的双精度字符串转换