一个wpf里面的函数,函数定义没看明白~~
private childItem FindVisualChild<childItem>(DependencyObject obj) where childItem : DependencyObject
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is childItem)
return (childItem)child;
else
{
childItem childOfChild = FindVisualChild<childItem>(child);
if (childOfChild != null)
return childOfChild;
}
}
return null;
}
c#不熟悉,函数后面的where是什么意思?
------最佳解决方案--------------------这时一个泛型方法,后面的where是对于泛型参数的约束。
xxxx.FindVisualChild<childItem>(obj);
childItem是一个类型,where指定了这个类型必须继承自DependencyObject
有关知识可以看我一篇博客文章:
C# 泛型编程之泛型类、泛型方法、泛型约束
------其他解决方案--------------------泛型!!!!
------其他解决方案--------------------where childItem : DependencyObject
是对childItem的约束,必须继承DependencyObject
------其他解决方案-------------------- 顶!!!
------其他解决方案--------------------非常感谢LS朋友们的指点~~