Tuesday, June 29, 2010

C#: Invoke method from null-valued variable?

Как-то не задумывался, что конструкции по типу:

A a = null;
a.SomeMethod();


могут не вызывать NullReferenceException, а отрабатывать и выполнять какой либо функционал или даже возвращать значения.

Как?

Методы-расширения:

public class A { }
public static class AExt {
public static void SomeMethod(this A a) {
Console.WriteLine("Invoked with "+(a==null?"null":a.ToString()));
}
}


Это конечно хорошо, но имхо это нарушает "читабельность" - лучше явно проверять и обрабатывать null-значения, чем прятать обработку в методы расширения.

Но факт остается факт - у переменной со значением null можно вызвать метод :) Можно спрашивать на собеседованиях чтоб оценить реакцию :)

Wednesday, June 2, 2010

Ищем соратника

Сегодня разместил вакансию на developers.org.ua. Интересно, без дополнительных вложений будут ли обращаться?

В целом конечно немного стремно искать "не по знакомым" - пока команда укомплектовывалась чисто друзьями, которых знаю уже довольно давно, но друзья-девелоперы рано или поздно заканчиваются.

В общем, ждем новых друзей в нашу дружную команду :)