| ref |
Termo utilizado nos parâmetros de função para especificar uma
passagem de parâmetro por referencia
|
| out |
É utilizado como parâmetro de função para dizer que aquela variável será
uma variável de saída. Desta forma, a variável de saída não precisa ser inicializada antes
de ser passada para a função.
|
| params |
A finalidade desse tipo de parâmetro, onde na verdade o que passamos é uma
lista
de parâmetros que pode variar no seu número de elementos, é nos
permitir
passar a um método quantos parâmetros desejarmos. Para isso, usamos
a palavra
reservada params antes do tipo do parâmetro que deve ser um array.
Quando
o método receber mais de um parâmetro, o parâmetro
array deve ser
o último da lista.
Exemplo: public int Soma(params int[ ] args)
Soma(1,2,3,4);
|
| readonly |
Variáveis que uma vez que o atributo é inicializado, o seu
valor persistirá durante
o
tempo de execução da aplicação, e não será possível
modificá-lo.
A inicialização de atributos readonly é feita através
do uso de construtores de
classes e a tentativa de inicializar um atributo readonly fora de um construtor
ou
da sua declaração provocará um erro de compilação.
Existem casosemque é preciso inicializar o atributo readonly, mas não
se deseja
que uma instância da classe seja criada para tal fim. Nesse caso, declaramos
os
atributos como estáticoseumconstrutor estático é declarado
para poder reinicializar
o seu valor.
|
| static Construtor |
- A declaração é antecedida pelo modificador static
- É chamado automaticamente antes da instanciação da classe
- É executado apenas uma única vez durante a execução
do programa que
contém a classe
- Não pode receber parâmetros como acontece com os construtores
customizados
- Construtores estáticos não podem referenciar membros instância
da classe
Como dissemos anteriormente,
quando falamos de atributos read only, usamos esse tipo de construtor para inicializar
atributos estáticos, ou estáticos só de leitura.
|
| Construtores Privados |
Construtores privados são usados para evitar que instâncias
de uma classe sejam
criadas.
Exemplos de classes desse tipo são aquelas que definem um conjunto
de
atributos constantes.
Exemplo:
class classeDeConstantes
{
public const double pi = 3.1415;
public const int iTempDeFervorDaAgua = 37;
private classeDeConstantes( );
}
Se você tentar criar uma instância da classe, o compilador acusará um
erro
porque ela possui um construtor estático.
|
| Array |
int[ ] arrInt = new int[2] ;
As três formas a seguir são válidas para inicializar um array
quando é feita sua
declaração:
int[ ] arrInt = new int[2] {0,1}; //ou
int[ ] arrInt = new int[ ] {0,1}; //ou
int[ ] arrInt = {0,1} ;
|
| Modificadores de Acesso |
public
Significa que o membro é acessível de fora da definição
da
classe. Na verdade, ele é sempre acessível e visível.
protected
O membro não é acessível de fora da classe e só pode
ser acessado
por classes derivadas.
private
O membro não pode ser acessado de fora do escopo da classe
de definição. Portanto, nem mesmo classes derivadas terão
acesso a esses membros.
internal
O membro é visível somente dentro da unidade de compilação.
É um misto de public e private, dependendo de onde o
código for escrito.
|
| virtual |
Palavra chave que cria um método polimorfico.
O método pode ser reescrito na classe herdada como override.
E o método override pode chamar o método virtual com a instrução:
base.nome_do_metodo()
|
| abstract |
Uma classe pode ser abstrata. Ela não pode trazer implementações concretas
de funções.
As funções da classe também devem ser abstratas:
public abstract string Exibir(
);
|
| Propriedades |
Uma propriedade é composta de três elementos: um campo (local
onde armazena-se o valor, também chamado de atributo), um método
de leitura
(get) e um método de gravação (set).
protected string fCPF;
public string CPF
{
set
{
fCPF = value;
}
get
{
return fCPF;
}
}
|
| interface |
Interfaces são coleções de
métodos abstratos relacionados semanticamente.
public interface ICodigoBarras
{
void LeituraPadrao3of9( ); // Implicitamente abstrato
void MetodoIdentico( );
}
public interface IControleArmazenamento
{
void Localizador( );
void MetodoIdentico( );
}
public class Produto : ICodigoBarras, IControleArmazenamento
{
// Aqui viriam as implementações
public void LeituraPadrao3of9( )
{
// Implementação
}
public void Localizador( )
{
// Implementação
}
// No caso de nomes coincidentes, implemente apenas uma vez
public void MetodoIdentico( )
{
// Implementação
}
}
A definição da classe produto seria resultante da agregação
de métodos definidos
em duas interfaces diferentes.
|
| sealed |
Por definição, classes seladas não permitem
nenhum
tipo de herança ou derivação. Simplesmente são classes
que devem ser entendidas
como terminadas.
|
| Tratamento de Exceções |
HelpLink
Retorna uma URL paraumarquivo de Help descrevendo o
erro em detalhes
Message
Esta propriedade é somente leitura e descreve o erro
Source
Retorna o nome do objeto ou aplicação que gerou o erro
StackTrace
Esta propriedade é somente leitura e contém uma string
que identifica a seqüência de chamadas que disparou o
erro
InnerException
Pode ser usada para preservar os detalhes do erro ao longo
de uma série de exceções
|
| throw |
Gera uma exceção
throw new Exception( "CPF Inválido" );
|
| Bloco Try |
try
{
// Código sujeito a exceções
}
catch( TipoExcecao1 e )
{
// Tratamento para exceção tipo 1
}
catch( TipoExcecao2 e )
{
// Tratamento para exceção tipo 2
}
catch
{
// Tratamento para qualquer tipo de exceção
}
finally
{
// Trecho que deve sempre ser executado, havendo ou não exceção
}
A estrutura try..catch requer que exista pelo menos um bloco catch vazio.
Os blocos de finally e catch(exception) são opcionais.
|
| is |
Permite saber se um objeto é do mesmo tipo. Retorna um true or false
|
| as |
Permite usar uma classe como se ela fosse outra
Imagine que p seje um objeto pentium
(p as Intel286).ModoProtegido = true;
Nesse caso, estamos fazendo um typecast no objeto p para usá-lo como um
processador Intel286.
|
| System.Object |
Parametro base para objetos, assim como void para ponteiros. |
| Alias de Namespace |
using NOME_ALIAS = namespace;
|
| Namespace alinhados |
namespace System
{
namespace Text
{
}
}
Usando
using System.Text;
|
| form.MdiParent = |
Especifica a janela pai do form, para criar MDI forms
|
| form.MdiChildren.Length |
Quantidade de janelas MDI que um form pai possui
|
| form.ActiveMdiChild.Close( ); |
Fecha as janelas filhas MDI ativas
|
| form.LayoutMdi( layout ) |
Organiza as janelas em layouts definidos
Em cascata
System.Windows.Forms.MdiLayout.Cascade
Organiza as janelas lado a lado na horizontal
TileHorizontal
Organiza as janelas lado a lado na vertical
TileVertical
|
| AcceptButton |
Propriedade do form que indical qual o botão é acionado ao apertar enter
|
componente_errorProvider1.
SetError(campo, ""); |
Elimina sinalização de erro
Com o string preenchida mostra sinalização de erro
|
| |
|