关于C#中泛型类型参数约束(where T : class)

匿名 (未验证) 提交于 2019-12-02 22:56:40

.NET支持的类型参数约束有以下五种:




如下在WPF中获取当前窗体(或者用户控件)的父窗体,限定泛型必须为Class:

private void btnCancel_Click(object sender, RoutedEventArgs e)         {             Window hostWindow = GetParent<Window>(sender as Button);             if (hostWindow != null)             {                 hostWindow.Close();             }         }          public static T GetParent<T>(UIElement  uiElement) where T : class         {             T result;             var dp = LogicalTreeHelper.GetParent(uiElement);             result = dp as T;             while (result == null)             {                 dp = LogicalTreeHelper.GetParent(dp);                 result = dp as T;                 if (dp == null) return null;             }             return result;         }

原文:https://www.cnblogs.com/YzpJason/p/9358850.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!