c#将方法放在using语句中可能吗?

Jos*_*ino 2 .net c#

我尝试了一些不同的方法.我不确定是否可以使用上面的方法使用()语句或是否有其他方法.

public class Main 
{
    public Main() 
    {
      using(Type t = new Type) 
      {
        public void SomeFunction() {
             t.toString()}
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

suj*_*lil 8

这是不可能的但你可以这样做:

 using(Type t = new Type) 
 {
    SomeFunction(t);
 }

 public void SomeFunction(Type tType) 
 {
    tType.ToString();
 }
Run Code Online (Sandbox Code Playgroud)

注:t将被转移到SomeFunction()并在被布置}使用块如果类的Type工具IDisposible,由于 使用语句调用正确的方式在对象上的Dispose方法,和(当你使用它如前所示),这也导致了对象一旦调用Dispose,它本身就会超出范围