Merge pull request #5675 from mono/glib-debug-symbols
[mono.git] / mcs / tests / gtest-550.cs
1 using System;
2
3 namespace Foo
4 {
5         public static class Magic
6         {
7                 public interface IUpDown
8                 {
9                         int DestinationDimension { get; }
10                 }
11
12                 public static int Main ()
13                 {
14                         Magic<decimal>.Upsample (new Instance ());
15                         return 0;
16                 }
17         }
18
19         public static class Magic<T>
20         {
21                 public interface IAccessible { T this[int index] { get; set; } }
22
23                 public interface IUpDown : Magic.IUpDown, IAccessible { }
24
25                 public static void Upsample (IUpDown o)
26                 {
27                         var count = o.DestinationDimension;
28                 }
29         }
30
31         class Instance : Magic<decimal>.IUpDown
32         {
33                 #region IUpDown Members
34
35                 public int DestinationDimension
36                 {
37                         get
38                         {
39                                 return 1;
40                         }
41                 }
42
43                 #endregion
44
45                 #region IAccessible Members
46
47                 public decimal this[int index]
48                 {
49                         get
50                         {
51                                 throw new NotImplementedException ();
52                         }
53                         set
54                         {
55                                 throw new NotImplementedException ();
56                         }
57                 }
58
59                 #endregion
60         }
61 }