Constraints em Generics 0
jul12
Nos últimos posts conhecemos mais a fundo algumas novidades existentes no Framework 2.0 e 3.5 conforme pode ser visto abaixo:
- Generics
- Tipos Nulos ou Nullable Types
- Delegate Action
- Delegate Predicate
- Delegate Comparison
- Delegate Converter
- Type Inference
- Anonymous Types
- Object Initialization
- Extension Methods
Bom, na parte do Generics ficou faltando falar sobre Constraints em Generics onde podemos definir certas restrições ao tipo T atribuído na declaração de uma classe Genérica. Podemos definir Constraints para os seguintes casos:
- Deve ser um tipo por valor;
- Deve ser um tipo por referência;
- Deve ter um construtor sem parâmetro (parameter less);
- Deve ser especificada uma determinada classe ou sub-classe;
- Deve ser implementada uma determinada interface.
Definindo Constraints
| C# | VB.NET | Descrição |
| where T : struct | T As Structure | Onde T seja uma estrutura |
| where T : class | T As Class | Onde T seja uma classe |
| where T : new() | T As New | Onde T possua um construtor sem parâmetro |
| where T : class name | T As class name | Onde T herde de uma classe específica |
| where T : interface name | T As interface name | Onde T implemente uma interface específica |
| where T : U | T As U | Onde T herde de U |
Na prática
public class Cliente<T>
where T : IDisposable, new()
{
//Implementar a classe
}
Por enquanto é só!!! Até o próximo post.
subscreva os comentários RSS
Não existem comentários para este post