我有一个静态类(称为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 回答
这通常是一个非常强烈的迹象,表明(1)方法可能在实用程序类中不合适,或者(2)实用程序类不应该是静态的 .
当在其他地方创建上下文时,这可能是不可能的,因为您的实用程序类可能会在某个意外时间初始化 .
如果您决定这样做,也许最好将方法移动到
Context
,或者如果不可能,请将实用程序方法转换为扩展方法:这样可以节省打字,因为您不必拼出实用程序类的名称 .