Вам необходимо добавить текущую дату в условие, поскольку ваша логика также учитывает текущую дату, т. Е. Если (start == end) вернуть start elseif (start < end & amp; end == currDate) вернуть start elseif ( start < end & amp> end> currDate) return end Что-то на этот счет.
Да.
Можно также сделать:
object c = new FooBar();
if(c is FooBar)
Console.WriteLine("FOOBAR!!!");
Вызов GetType () назовет ФАКТИЧЕСКИЙ тип. Если Вы хотите знать базовый тип, можно назвать GetType ().BaseType
Короткий ответ: GetType () возвратит Тип конкретного объекта. Я сделал быстрое приложение для тестирования этого:
Foo f = new Foo();
Type t = f.GetType();
Object o = (object)f;
Type t2 = o.GetType();
bool areSame = t.Equals(t2);
И да, они - то же.