我在CommonFunctions项目中有一个StringUtilities.cs文件,它包含一个UppercaseFirst函数,该函数将字符串中的第一个单词大写。目前在.aspx.cs中使用此函数的单独项目(在同一个解决方案中)使用 MyProject.CommonFunctions.StringUtilities.UppercaseFirst(“hello world”)调用;
是否可以将其缩短为 UppercaseFirst(“hello world”); ?可读性会好得多。
CommonFunctions项目中的StringUtilities.cs:
namespace MyProject.CommonFunctions
{
public class StringUtilities
{
public static string UppercaseFirst(string s)
{//blah code}
}
}
Default.aspx.cs
using MyProject.CommonFunctions;
...
protected void Page_Load(object sender, EventArgs e)
{
MyProject.CommonFunctions.StringUtilities.UppercaseFirst("hello world");
}
答案 0 :(得分:3)
如果您使用的是c#3.0(.NET 3.5),则可以使用扩展方法:
namespace MyProject.CommonFunctions
{
public static class StringUtilities
{
public static string UppercaseFirst(this string s)
{//blah code}
}
}
在适当的文件中设置您的使用后,您可以:
using MyProject.CommonFunctions;
...
protected void Page_Load(object sender, EventArgs e)
{
"hello world".UppercaseFirst();
}
答案 1 :(得分:2)
您无法将其一直缩减为方法名称,但鉴于您已经拥有using MyProject.CommonFunction;
行,您可以将其缩短为:
StringUtilities.UppercaseFirst("hello world");
答案 2 :(得分:2)
不在C#中; VB.NET(和C ++ / CLI)具有不同的查找规则。
在C#中,您可以使用using
别名,如下所示:
using StrUtil = MyProject.CommonFunctions.StringUtilities;
这将允许你写
protected void Page_Load(object sender, EventArgs e)
{
StrUtil.UppercaseFirst("hello world");
}
无论封闭的命名空间如何。