Разработка программного обеспечения - это просто работа
Не поймите меня неправильно, мне очень нравится разработка программного обеспечения. Я написал блог за последние несколько лет на эту тему. Я провел здесь достаточно времени, чтобы набрать> 5000 очков репутации. И я работаю в стартапе, обычно проводя 60 часов в неделю за гораздо меньшие деньги, чем я мог бы получить в качестве подрядчика, потому что команда фантастическая, а работа интересная.
Но, по большому счету, это просто работа.
По важности это относится ко многим вещам, таким как семья, моя подруга, друзья, счастье и т. Д., А также к другим вещам, которые я предпочел бы делать, если бы у меня был неограниченный запас денег, например, езда на мотоциклах, парусных яхтах или сноуборде.
Иногда я думаю, что многие разработчики забывают, что разработка - это просто то, что позволяет нам иметь в жизни более важные вещи (и делать это, делая то, что нам нравится), а не самоцель.
Компилятор должен быть достаточно умен, чтобы распознавать, что BigFoo
не может быть преобразовано в IEnumerable
, но это не так. Он просто видит, что это IEnumerable
, и чувствует, что это потенциальный кандидат на перегрузку (даже несмотря на то, что ограничение, которое вы определили, заставляет T
быть IFoo
и int
нельзя преобразовать в IFoo
). Хотя это неудобно, но это не так уж и важно. Просто приведите bigFoo к IFoo
, и компилятор будет доволен:
fooContainer.Add((IFoo)bigFoo);
В качестве альтернативы вы можете сделать свою общую перегрузку Add uglier:
public void Add<T, U>(U group)
where T : IFoo
where U : IEnumerable<T>
{
}
В любом случае у вас будет больше ввода, второе решение устранит необходимость для отправки вызовов на Добавьте
,
вы можете рассмотреть возможность использования SQLCipher для своей реализации. Это сборка SQLite, которая обеспечивает прозрачное шифрование всей БД на уровне страниц. На Mobile Orchard есть учебник по его использованию в приложениях для iPhone.
public class Handler : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Session["StackOverflow"] = "overflowing";
context.Response.Redirect("~/AnotherPage.aspx");
}
}
Решает ли эта проблема реализация iRequiresSessionState ?
А что насчет выполнения IHttpModule вместо этого и переопределения BeginRequest?
public void Init(HttpApplication application)
{
application.BeginRequest += new EventHandler(context_BeginRequest);
}