例如:
private void MethodName()
{
Using System.OI;
}
我只需要这个方法中的这个库。我有什么方法可以做到这一点吗?
我没有把它放在首位的原因是它产生了模糊的引用。
答案 0 :(得分:8)
使用给定类型时,根本不需要使用using
语句。如果要使用类型:
var lines = System.IO.File.ReadLines("temp.txt");
using
语句只是语法糖,以避免每次使用某种类型时都需要这样做。
答案 1 :(得分:1)
使用partial classes。为同一个类创建两个源文件,一个导入System.IO(并包含您的特殊方法),另一个不导入(并包含所有剩余的方法)。
using System.IO;
public partial class MyClass
{
private void MethodName()
{
...
}
}
答案 2 :(得分:0)
来自MSDN的这一行让我怀疑不是:
using指令的范围仅限于它出现的文件。
请注意,它并没有说范围。但是,您始终可以引用没有using
指令的对象:
public void MyMethod()
{
System.IO.StreamWriter myWriter;
}
部分阶级的想法是另一个解决问题的聪明方法。这是我参考的文档:MSDN
答案 3 :(得分:0)
虽然大多数答案都是关于避免using
语句和完全限定类型名称,但我想对此进行评论:
我只需要这个方法中的这个库。我有什么方法可以做到这一点吗?
在.Net中,添加using
或添加对库的引用并不意味着将加载此库。库正在运行时加载到应用程序域,然后才真正使用它。
因此,在文件中添加使用不会伤害任何人;如果需要,执行特定方法将加载必要的库。
在应用程序域中加载库后 - 它将永远不会被卸载。
所以很可能 - 你不需要你要求的东西,只要在名称冲突的情况下使用文件级别或命名空间别名。