扩展方法电话格式,国家代码作为参数

时间:2011-01-18 03:40:24

标签: c#

我正在编写一个名为ToPhoneFormat的扩展方法,它将一串数字格式化为电话号码。

是否可以在方法中添加一个参数,使我能够像这样调用它:MyPhoneString.ToPhoneFormat(国际代码)

那样,我可以写MyPhoneString.ToPhoneFormat(1);格式化美国电话号码和MyPhoneString.ToPhoneFormat(33)格式化法语电话号码。

我已经编写了执行格式化的方法,但我想知道如何构建构造函数,以便在调用它时使用参数。

感谢。

3 个答案:

答案 0 :(得分:1)

是的,扩展方法可以带参数:

public static string ToPhoneFormat(this string str, int formatCode)
{
    return ...
}

// ...

string s = "1234567890".ToPhoneFormat(33);

答案 1 :(得分:1)

美好而轻松:)

我假设您的ToPhoneFormat方法签名类似于:

public static string ToPhoneFormat(this string sourceString) 
{
    /* Your code here */ 
}

如果是这样,您需要做的就是在this参数之后添加一个参数,因此它变为:

public static string ToPhoneFormat(this string sourceString, int countryCode)
{
    /* Your code here */
}

答案 2 :(得分:1)

不确定。您只需在扩展方法的签名中添加参数:

public static string ToPhoneFormat(this string phoneNumber, int countryCode)
{
   // do your formatting here
}