如何在系统命名空间中创建 ToInt32 方法?



如您所知,我们可以使用 Convert.ToString 或 ToString 转换为字符串。我想为整数、字节等做同样的事情。此外,我想在放置点时为每个对象看到此方法。 我应该如何编写方法?

您正在寻找一种扩展方法。 只需创建一个静态类和其中的静态方法,如下所示:

public static class Exts
{
public static int ToInt32(this string x)
{
int result = 0;
int.TryParse(x, out result);
return result;
}
}

当然,我的方法是一个示例,它只是为任何不可转换为 int 的字符串值返回 0,但是您可以编写任何代码,接受默认值作为参数,抛出异常,...

然后你可以像这样使用它:

string a = "123";
int b = a.ToInt32();
int c = "321".ToInt32();

编写一个将任何类型的转换为Int32的泛型扩展:

public static class ObjectExt {
public static int ToInt<T>(this T obj) => Convert.ToInt32(obj);
}

最新更新