C# 泛型怎么调用类型T 的实例中的东西

C# 泛型如何调用类型T 的实例中的东西

  public class  ABC<T>
    {
           T tempForm;
           public ABC(T input)
               {
                        tempForm=input
                }
            public void  solve ()
                {
                       tempForm.myNotification.Message="OK";  //myNotification是我写的某个类的实例,Message是它的属性,
                                                                                              //可是编译器 提示T中不包含myNotification的含义,该怎么弄。
                 }            
     }
   
窗口Load事件中这样子调用
{
     public  Notification myNotification;
     ABC  myABC<Form1>=new myABC<Form1> (this)
}
 

------解决方案--------------------
http://www.cnblogs.com/jams742003/articles/1273358.html
http://birdshover.cnblogs.com/articles/392127.html

看看泛型的使用;
------解决方案--------------------
类似于定义     public class  ABC<T> where T:Form

但是这样定义,你一定会觉得“多此一举,画蛇添足”了。

确实是这样!但是你既然相当然地确定 T 就是定义了 myNotification,你又怎么可能不确定 T 具有什么父类呢?

不要因为“泛型”这个词儿显得高大上似地,就滥用它。想明白你要写的这个 T 需要什么设计尺度吧。
------解决方案--------------------
晕。你的需求和泛型根本没关系。

如果你很多窗体都要用Form1,你可以把它写在基类中。

如果你要避免反射访问类型的成员,也可以这么写:
dynamic d = obj;
d.XXX(这里可以随便写) = xxx
------解决方案--------------------
或者使用楼上的
T tempForm;
           public ABC(T input)
               {
                        tempForm=input
dynamic  aa= tempform;
aa.xxx
                }

------解决方案--------------------
是interface登场时候了。
不过看着楼主写代码觉得好神奇,不和你想做什么,