在调用自定义函数之前删除类名?

时间:2011-10-06 09:09:05

标签: asp.net

我有一个函数,可以让字符串只有第一个字母为大写。

public class Class1
{
    public static string UppercaseFirst(string s)
    {
        // Check for empty string.
        if (string.IsNullOrEmpty(s))
        {
            return string.Empty;
        }
        // Return char and concat substring.
        return char.ToUpper(s[0]) + s.Substring(1).ToLower();
    }
}

示例:

string MyName = "john";
string result = Class1.UppercaseFirst(MyName)

Result: "John"

是否可以删除“Class1”。在调用函数之前?

3 个答案:

答案 0 :(得分:0)

将其设为extension method,然后您可以将其称为"john".UppercaseFirst();

您只需要将您的类声明为静态,并将签名更改为以下

public static string UppercaseFirst(this string s)
    {...

答案 1 :(得分:0)

你可以写一个扩展方法:

public static class StringExtension
{
  public static string UppercaseFirst(this string text)
  {
    // ..
  }
}

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

string uppercase = "myText".UppercaseFirst();

答案 2 :(得分:0)

仅当您从同一Class1内部调用静态方法时。如果你从课外调用它,你需要Class1说明符。

但是,如果你在静态类中使它成为扩展方法,你可以直接在所有字符串上调用它。