C# C“a中的扩展方法”;网站主控“;包装在名称空间困境中的模板
问题是,为什么我需要在我的Site.Master文件中添加一个“import”指令来获取Intellisense,而html助手却没有它 使用简单的C#字符串扩展方法而不使用名称空间==没有问题。然而,我想把这个扩展放在一个名称空间中,成为一个好的程序员 如果我将它包装在一个名称空间中,您必须做几件事。这是我的分机:C# C“a中的扩展方法”;网站主控“;包装在名称空间困境中的模板,c#,asp.net,C#,Asp.net,问题是,为什么我需要在我的Site.Master文件中添加一个“import”指令来获取Intellisense,而html助手却没有它 使用简单的C#字符串扩展方法而不使用名称空间==没有问题。然而,我想把这个扩展放在一个名称空间中,成为一个好的程序员 如果我将它包装在一个名称空间中,您必须做几件事。这是我的分机: namespace MySystemCore { public static class StringExtensions { public sta
namespace MySystemCore
{
public static class StringExtensions
{
public static string F(this string s, params object[] args)
{
return string.Format(s, args);
}
}
}
因此,通过反复试验,我让它工作了,但我想分享我的观察结果。希望它将来能帮助其他人
注意:我正在使用Site.Master中的扩展方法
- 运行时错误,未找到扩展方法
”添加到web.config中的
配置块中
- 工作,没有智慧
- 工作,没有智慧
”添加到Site.Master文件
- 用智能感知工作
我同意这有时很烦人。但这一切都与关注点分离。您必须学习所有自己的和MS名称空间,才能找到正确的扩展方法。这是一个VS限制,当您将其添加到web.config中时,IntelliSense不会显示 但为了完整起见,我将讨论其原因: