- 1
static bool AlwaysTrue<T>(T obj) { return true; }
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+135
static bool AlwaysTrue<T>(T obj) { return true; }
ыыы
bormand 28.03.2013 11:03 # +2
taburetka 28.03.2013 11:06 # 0
LispGovno 28.03.2013 11:22 # 0
taburetka 28.03.2013 11:28 # +2
{
static bool AlwaysTrue<T>(T obj) { return true; }
/// <summary>
/// Finds a parent of a given item on the visual tree. If the element is a ContentElement or FrameworkElement
/// it will use the logical tree to jump the gap.
/// If not matching item can be found, a null reference is returned.
/// </summary>
/// <typeparam name="T">The type of the element to be found</typeparam>
/// <param name="child">A direct or indirect child of the wanted item.</param>
/// <returns>The first parent item that matches the submitted type parameter. If not matching item can be found, a null reference is returned.</returns>
public static T FindParent<T>(DependencyObject child) where T : DependencyObject
{
return FindParent<T>(child, AlwaysTrue<T>);
}
public static T FindParent<T>(DependencyObject child, Predicate<T> predicate) where T : DependencyObject
{
DependencyObject parent = GetParent(child);
if (parent == null)
return null;
// check if the parent matches the type and predicate we're looking for
if ((parent is T) && (predicate((T)parent)))
return parent as T;
else
return FindParent<T>(parent);
}
static DependencyObject GetParent(DependencyObject child)
{
DependencyObject parent = null;
if (child is Visual || child is Visual3D)
parent = VisualTreeHelper.GetParent(child);
// if fails to find a parent via the visual tree, try to logical tree.
return parent ?? LogicalTreeHelper.GetParent(child);
}
}
LispGovno 28.03.2013 11:42 # +1
taburetka 28.03.2013 11:46 # +1
3.14159265 28.03.2013 11:52 # +7
TarasB 28.03.2013 11:55 # +2
taburetka 28.03.2013 12:02 # +1
3.14159265 28.03.2013 12:11 # +18
New Achievement Unlocked: BBCode.
Team Bonus: +10% prettier posts.
defecate-plusplus 28.03.2013 12:20 # +13
TarasB 28.03.2013 13:02 # +10
bormand 28.03.2013 13:12 # +10
guest 29.03.2013 11:44 # 0
roman-kashitsyn 29.03.2013 11:48 # +3
не мне одному.
neeedle 01.04.2013 08:58 # +1
Может вы опишите?
roman-kashitsyn 01.04.2013 09:44 # +2
Примерно вот так это выглядело:
LispGovno 01.04.2013 10:45 # 0
РульныйDSL +1
Только это EDSL, а не DSL
neeedle 01.04.2013 10:53 # +2
PS
У вас там очепяточка в togehter в конце предложения.
roman-kashitsyn 01.04.2013 10:54 # +1
wvxvw 28.03.2013 11:19 # 0
guest 30.03.2013 21:05 # −1
Т.е. это развоначно лямбдоподобному синтаксису типа \lambda x => true.
Автор мудак как и все заплюсовавшие и большинство завсегдатаев сего сайта.
3.14159265 30.03.2013 21:10 # +4
Спасибо, кеп.
>мудак как и все заплюсовавшие и большинство завсегдатаев сего сайта.
Ну да. Один ты дАртаньян.
LispGovno 01.04.2013 10:42 # +2