Merge pull request #4928 from kumpera/ptr_to_struct_intrinsic
[mono.git] / mcs / tests / gtest-303.cs
1 //
2 // Test case from bug 80518
3 //
4
5 using System;
6
7 namespace test
8 {
9     public class BaseClass
10     {
11         public BaseClass()
12         {
13         }
14         public string Hello { get { return "Hello"; } }
15     }
16
17     public abstract class Printer
18     {
19         public abstract void Print<T>(T obj) where T: BaseClass;
20     } 
21     
22     public class PrinterImpl : Printer
23     {
24         public override void Print<T>(T obj) 
25         {
26             Console.WriteLine(obj.Hello);
27         }
28     }
29
30     public class Starter
31     {
32         public static void Main( string[] args )
33         {
34             BaseClass bc = new BaseClass();
35             Printer p = new PrinterImpl();
36             p.Print<BaseClass>(bc);
37         }       
38     }
39 }