Articles of c # 3.0

Dados hierárquicos no Linq – opções e desempenho

Eu tenho alguns dados hierárquicos – cada input tem um id e um ID de input pai (anulável). Eu quero recuperar todas as inputs na tree sob uma determinada input. Isso está em um database do SQL Server 2005. Eu estou consultando com LINQ to SQL no c # 3.5. O LINQ to SQL não […]

Seção personalizada do app.config com uma lista simples de elementos “add”

Como eu crio uma seção personalizada do app.config que é apenas uma lista simples de elementos de add ? Eu encontrei alguns exemplos (por exemplo, como criar seção de configuração personalizada no app.config? ) Para seções personalizadas que se parecem com isso: Mas como evito o elemento de coleta extra (“Empresas”) para que pareça o […]

Por que as propriedades de tipos anônimos em C # são somente leitura?

Em C #, as propriedades de tipos anônimos são somente leitura: var person = new { Surname = “Smith”, OtherNames = “John” }; person.Surname = “Johnson”; // ERROR: .Surname is read-only É claro que posso declarar uma class real se quiser campos ou propriedades graváveis, mas, independentemente disso, qual é o raciocínio por trás dessa […]

Por que uma expressão lambda deve ser convertida quando fornecida como um parâmetro Delegado simples

Use o método System.Windows.Forms.Control.Invoke (Delegate method) Por que isso gera um erro de tempo de compilation? string str = “woop”; Invoke(() => this.Text = str); // Error: Cannot convert lambda expression to type ‘System.Delegate’ // because it is not a delegate type Ainda isso funciona bem: string str = “woop”; Invoke((Action)(() => this.Text = str)); […]

Como definir o estilo padrão da janela do WPF em app.xaml?

Eu estou tentando definir o estilo padrão para cada janela no meu aplicativo WPF Windows no meu app.xaml. Até agora eu tenho isso em app.xaml: Eu posso obter a janela para aparecer com este estilo ao executar o aplicativo (mas não é designer VS), especificando especificamente a janela para usar este estilo via: Style=”{DynamicResource WindowStyle} […]

O arquivo de metadados ‘.dll’ não foi encontrado

Eu estou trabalhando em um projeto WPF, C # 3.0 e recebo este erro: Error 1 Metadata file ‘WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug \BusinessLogicLayer.dll’ could not be found C:\-=WORK=- \Tools \VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem É assim que faço referência aos meus usercontrols: xmlns:vms=”clr-namespace:VersionManagementSystem” Isso acontece depois de cada construção com falha. A única maneira que posso obter a solução para […]

Pesquisa de controle recursiva com LINQ

Se eu quisesse encontrar checkboxs de seleção marcadas em uma página ASP.NET eu poderia usar a seguinte consulta LINQ. var checkBoxes = this.Controls .OfType() .TakeWhile(cb => cb.Checked); Isso funciona bem se as checkboxs de seleção estiverem aninhadas na coleção de controle atual, mas gostaria de saber como estender a pesquisa explorando as collections de controle […]

Qual é o aspecto mais difícil ou mais incompreendido do LINQ?

Antecedentes: No próximo mês, estarei dando três palestras sobre ou, pelo menos, incluindo o LINQ no contexto do C# . Eu gostaria de saber quais tópicos valem a atenção, com base no que as pessoas podem achar difícil de entender, ou no que elas podem ter uma impressão equivocada. Não LINQ especificamente sobre o LINQ […]

Como obter o índice usando o LINQ?

Dada uma fonte de dados como essa: var c = new Car[] { new Car{ Color=”Blue”, Price=28000}, new Car{ Color=”Red”, Price=54000}, new Car{ Color=”Pink”, Price=9999}, // .. }; Como posso encontrar o índice do primeiro carro que satisfaz uma determinada condição com o LINQ? EDITAR: Eu poderia pensar em algo assim, mas parece horrível: int […]

Implementar Tempo Limite Genérico C #

Eu estou procurando boas idéias para implementar uma maneira genérica de ter uma única linha (ou delegado anônimo) de código executar com um tempo limite. TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min Eu estou procurando uma solução que possa ser elegantemente implementada em muitos […]