1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
// CS1674: `NoIDispose': type used in a using statement must be implicitly convertible to `System.IDisposable'
// Line: 27
using System;
class MyDispose : IDisposable {
public bool disposed;
public void Dispose ()
{
disposed = true;
}
}
class NoIDispose {
static public MyDispose x;
public NoIDispose ()
{
}
static NoIDispose ()
{
x = new MyDispose ();
}
public static implicit operator MyDispose (NoIDispose a)
{
return x;
}
}
class Y {
static void B ()
{
using (NoIDispose a = new NoIDispose ()){
}
}
}
|