Используйте внутреннее объединение, если вы хотите, чтобы результаты, отображаемые в обеих таблицах, соответствовали условию объединения.
Используйте левое соединение, когда вам нужны все результаты из таблицы A, но если в таблице B есть данные, относящиеся к некоторым записям таблицы A, то вы также хотите использовать эти данные в том же запросе.
Используйте полное объединение, когда хотите получить все результаты из обеих таблиц.
Вы также можете использовать вызываемый тип
.
def hack(f, aClass):
newfunc = lambda self: f()
return type('MyClass', (aClass,), {'f': newfunc})
Я считаю, что использование типа
является самым простым способом проникнуть в мир метаклассов.
/// <summary>
/// Control names the event name.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The e.</param>
protected void controlName_EventName(object sender, EventArgs e)
{
Потому что в этом случае будет использоваться имя вашего элемента управления формой, так как это то, что он вызывает. Я должен сказать, что предпочитаю этот способ, поскольку он сообщает мне настоящее имя используемого элемента управления, а не его переименованную версию.
Это не нарушает строго соглашение об именах .Net, потому что рекомендации применимы только к общедоступным методам. Однако вы можете счесть это нарушением духа руководящих принципов.
Я тебя чувствую. На самом деле, я предпочитаю следующее соглашение об именах:
OnselectButtonClick()
Не нажимайте вкладку так быстро при подключении указанных обработчиков событий; ) Мех, это все сгенерировано. Можно было поменять на нем кожух, но тогда другая половина плакала бы по этому поводу. Для них это проигрышная ситуация.