C#静态类:我应该将对象传递给构造函数吗?

阿里·扎希德(Ali Zahid)

我有一个静态类(称为Utils),其中包含一些未与任何特定对象关联的实用程序方法。但是,大多数这些方法都引用了同一对象。

public static string Method1(Context context)
{......}

public static string Method2(Context context, Etc etc)
{......}

public static string Method3(Context context)
{......}

这个(上下文)对象是在系统的主类中创建的。但是这些静态方法在以后的事件中用于系统的不同部分。是否应该在Utils类中创建静态构造函数并从主类初始化上下文对象?还是应该让调用这些静态方法的每个类都传递上下文对象,因为它们已经具有对它的引用?每种方法的优缺点是什么?

编辑:顺便说一句,如果有人好奇,这是一个Xamarin.Android项目。

谢尔盖·卡里尼琴科(Sergey Kalinichenko)

但是,大多数这些方法都引用了同一对象。

这通常非常有力地表明,要么(1)这些方法在实用程序类中可能不合适,要么(2)该实用程序类不应为静态。

是否应该在Utils类中创建静态构造函数并从主类初始化上下文对象?

当在其他位置创建上下文时,这可能是不可能的,因为您的实用工具类可能会在意外的时间初始化。

还是应该让调用这些静态方法的每个类都传递上下文对象,因为它们已经具有对它的引用?

如果您决定这样做,则最好将方法移入Context,或者如果不可能,请将实用程序方法移入扩展方法:

public static string Method1(this Context context) {
    ...
}

这将使您节省键入的时间,因为您不必拼写实用程序类的名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C#静态类:我应该将对象传递给构造函数吗?

来自分类Dev

c ++:将对象传递给函数

来自分类Dev

是否可以将Moq对象传递给C#类构造函数?

来自分类Dev

正在通过引用将对象传递给构造函数

来自分类Dev

如何通过引用将对象传递给构造函数

来自分类Dev

无法将对象传递给Typescript中的构造函数

来自分类Dev

使用structuremap在运行时将对象传递给类构造函数

来自分类Dev

我应该将对象传递或在构造函数中构建它?

来自分类Dev

将对象传递给类并在同一个类中的静态函数中调用它

来自分类Dev

将对象传递给函数时,如何防止模板化构造函数将类作为参数

来自分类Dev

C#将对象传递给不同的方法

来自分类Dev

将对象传递给PowerShell函数

来自分类Dev

将对象传递给函数方法

来自分类Dev

如何初始化一个类并将对象传递给Android中的构造函数?

来自分类Dev

我应该将对象属性传递给对象方法吗?

来自分类Dev

将对象引用传递给构造函数,这是DI吗?

来自分类Dev

将对象传递给构造函数中的函数和动态内存分配

来自分类Dev

通过引用将对象传递给类构造器-对行为感到困惑

来自分类Dev

模拟moq,尝试将对象传递给具有多个参数的构造函数

来自分类Dev

模拟moq,尝试将对象传递给具有多个参数的构造函数

来自分类Dev

C ++将类对象传递给函数

来自分类Dev

将Android Activity对象传递给Thread类的构造函数是一种好习惯吗?

来自分类Dev

将对象传递给函数调用中的函数

来自分类Dev

C# - 将一个对象传递给构造函数,该对象目前为空,但稍后会创建

来自分类Dev

Vaadin 12将对象传递给JavaScript函数:无法编码类

来自分类Dev

如何遍历嵌套类并将对象传递给函数

来自分类Dev

将模板类的对象传递给另一个类的构造函数

来自分类Dev

将对象传递给JCL加载的类

来自分类Dev

动态将对象传递给类方法

Related 相关文章

  1. 1

    C#静态类:我应该将对象传递给构造函数吗?

  2. 2

    c ++:将对象传递给函数

  3. 3

    是否可以将Moq对象传递给C#类构造函数?

  4. 4

    正在通过引用将对象传递给构造函数

  5. 5

    如何通过引用将对象传递给构造函数

  6. 6

    无法将对象传递给Typescript中的构造函数

  7. 7

    使用structuremap在运行时将对象传递给类构造函数

  8. 8

    我应该将对象传递或在构造函数中构建它?

  9. 9

    将对象传递给类并在同一个类中的静态函数中调用它

  10. 10

    将对象传递给函数时,如何防止模板化构造函数将类作为参数

  11. 11

    C#将对象传递给不同的方法

  12. 12

    将对象传递给PowerShell函数

  13. 13

    将对象传递给函数方法

  14. 14

    如何初始化一个类并将对象传递给Android中的构造函数?

  15. 15

    我应该将对象属性传递给对象方法吗?

  16. 16

    将对象引用传递给构造函数,这是DI吗?

  17. 17

    将对象传递给构造函数中的函数和动态内存分配

  18. 18

    通过引用将对象传递给类构造器-对行为感到困惑

  19. 19

    模拟moq,尝试将对象传递给具有多个参数的构造函数

  20. 20

    模拟moq,尝试将对象传递给具有多个参数的构造函数

  21. 21

    C ++将类对象传递给函数

  22. 22

    将Android Activity对象传递给Thread类的构造函数是一种好习惯吗?

  23. 23

    将对象传递给函数调用中的函数

  24. 24

    C# - 将一个对象传递给构造函数,该对象目前为空,但稍后会创建

  25. 25

    Vaadin 12将对象传递给JavaScript函数:无法编码类

  26. 26

    如何遍历嵌套类并将对象传递给函数

  27. 27

    将模板类的对象传递给另一个类的构造函数

  28. 28

    将对象传递给JCL加载的类

  29. 29

    动态将对象传递给类方法

热门标签

归档