我有一个静态类(称为Utils),其中包含一些未与任何特定对象关联的实用程序方法。但是,大多数这些方法都引用了同一对象。
public static string Method1(Context context)
{......}
public static string Method2(Context context, Etc etc)
{......}
public static string Method3(Context context)
{......}
这个(上下文)对象是在系统的主类中创建的。但是这些静态方法在以后的事件中用于系统的不同部分。是否应该在Utils类中创建静态构造函数并从主类初始化上下文对象?还是应该让调用这些静态方法的每个类都传递上下文对象,因为它们已经具有对它的引用?每种方法的优缺点是什么?
编辑:顺便说一句,如果有人好奇,这是一个Xamarin.Android项目。
但是,大多数这些方法都引用了同一对象。
这通常非常有力地表明,要么(1)这些方法在实用程序类中可能不合适,要么(2)该实用程序类不应为静态。
是否应该在Utils类中创建静态构造函数并从主类初始化上下文对象?
当在其他位置创建上下文时,这可能是不可能的,因为您的实用工具类可能会在意外的时间初始化。
还是应该让调用这些静态方法的每个类都传递上下文对象,因为它们已经具有对它的引用?
如果您决定这样做,则最好将方法移入Context
,或者如果不可能,请将实用程序方法移入扩展方法:
public static string Method1(this Context context) {
...
}
这将使您节省键入的时间,因为您不必拼写实用程序类的名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句