gpt4 book ai didi

c# - 没有构造对象时的方法链接

转载 作者:行者123 更新时间:2023-11-30 22:01:13 25 4
gpt4 key购买 nike

在我当前的 Net Framework 4 项目中,我这样做了:

  • 将我的类构造函数定义为私有(private)的
  • 调用静态类方法获取该类的对象
  • 调用了新构造的对象的方法,这可能会失败

这看起来像下面的方式:

MyClassName obj = MyClassName.GetObject("Name").DoJob().Close();

在哪里

  • GetObject 是一个返回 MyClassName 或 NULL 实例的静态方法(我特别想在创建失败时返回 null,因为没有想到其他方法)
  • DoJob() 和 Close() 是实例方法,它们返回 this 并在 GetObject 失败时抛出 System.NullReferenceException,或者两者之间的任何失败。

问题是:是否可以按照我想要的方式设计它,而无需 try-catch block ?我想要有很多很多一个衬里而不是 try - lineOfCode - catch。每一行都是另一个对象执行其特定任务并销毁自身/被遗忘。我也不需要使用 MyClassName obj = 部分。

最佳答案

您可以返回一个空对象作为 Null Object pattern 的一部分,而不是返回 null 值.

在这种情况下,当 DoJobClose 被调用时,这个对象什么都不做,只是返回它自己。

可能的问题可能是需要定义某种简单的类层次结构来实现此模式。当您现在只有一门课时,这似乎有点过分了。

关于c# - 没有构造对象时的方法链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27891819/

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