Thông tin tài liệu
I
C# E .NET – GUIA DO
DESENVOLVEDOR
Consultores Editoriais
Lorenzo Ridolfi
Gerente Sênior Accenture
Sérgio Colcher
Professor do departamento
de Informática da PUC-Rio
Preencha a ficha de cadastro no final deste livro
e receba gratuitamente informações
sobre os lançamentos e as promoções da
Editora Campus.
Consulte também nosso catálogo
completo e últimos lançamentos em
www.campus.com.br
© 2002, Editora Campus Ltda. – uma empresa Elsevier Science
Todos os direitos reservados e protegidos pela Lei 5.988 de 14/12/73.
Nenhuma parte deste livro, sem autorização prévia por escrito da editora,
poderá ser reproduzida ou transmitida sejam quais forem os meios empregados:
eletrônicos, mecânicos, fotográficos, gravação ou quaisquer outros.
Capa
Adaptação da original americana por RioTexto
Editoração Eletrônica
RioTexto
Revisão Gráfica
Adriana Kramer
Projeto Gráfico
Editora Campus Ltda.
A Qualidade da Informação.
Rua Sete de Setembro, 111 – 16º andar
20050-002 Rio de Janeiro RJ Brasil
Telefone: (21) 3970-9300 FAX (21) 2507-1991
E-mail:
info@campus.com.br
ISBN 85-352-0954-9
CIP-Brasil. Catalogação-na-fonte.
Sindicato Nacional dos Editores de Livros, RJ
L697c
Lima, Edwin
C# e .Net para desenvolvedores / Edwin Lima,
Eugênio Reis. – Rio de Janeiro : Campus, 2002
ISBN 85-352-0954-9
1. C# (Linguagem de programação de computador).
2. Programação orientada a objetos (Ciência da computação).
3. Software de componente. I. Reis, Eugênio. II. Título.
02-0351. CDD – 005.117
CDU – 004.41
02 03 04 05 5 4 3 2 1
Dedicatória
Aos meus filhos Miguel e Henrique, que são as pessoas que mais amo neste
mundo.
Agradecimentos
A Deus por ter me dado a coragem e sabedoria diante do desafio tão grande
como foi escrever este livro.
A tia Ló de maneira muito especial, por ter dedicado boa parte da sua vida em
toda a minha formação e educação e por ter me ensinado o “Caminho” – Jesus
– pelo qual devo andar.
Aos meus pais, Adiel e Yolanda, porque sem os esforços que eles fizeram não
poderia ter chegado aqui.
In memoriam
De “mi hermano” Rubén.
De “mi abuelita” Mamá Sarita.
“…consegui, painho…”
Meu filho de dois anos
Edwin Lima
V
VI
Dedicatória
À minha esposa Flávia e aos meus filhos Thales e Alice. Eles são o meu grande
tesouro e fonte de inspiração.
Agradecimentos
A Flávia, por todo o carinho, paciência e estímulo ao longo desta empreitada.
A todos que, direta ou indiretamente, me ajudaram a ser o que eu sou hoje.
In memoriam
Ao meu pai, que recentemente deixou este mundo de maneira tão serena.
"O amor é um oceano de emoções inteiramente rodeado de despesas"
Lorde Dewar
Eugênio Reis
VII
VIII
Os Autores
Edwin Lima, pai de dois filhos brasileiros, Miguel e Henrique, nasceu em El Sal
-
vador, na América Central, em 1972, onde obteve a educação fundamental. Em
1992, recebeu uma bolsa de estudos para estudar no Brasil, onde graduou-se
como Bacharel em Ciências da Computação pela Universidade Federal da Paraí
-
ba em João Pessoa.
Ingressou no mercado de trabalho em 1996, numa empresa de consultoria
em João Pessoa, onde trabalhou até o ano 2000. Nesse período, participou como
analista de sistemas/desenvolvedor em diversos projetos, dentre os quais se des
-
tacam umsistema dehome banking, aplicações Web e de data warehouse em em
-
presas de telecomunicações na Bahia, Pernambuco e Paraíba, e diversos outros
projetos para empresas do segmento público.
No ano 2000, foi contratado para trabalhar na NEC Computers Internatio
-
nal na Holanda como Data Integration & Oracle Specialist, onde atua até hoje
desenvolvendo sistemas no ambiente Oracle para projetos de data warehouse e
de integração de sistemas.
Acompanha ativamente as tendências tecnológicas tendo em sua bagagem
profissional certificações da Microsoft (MCP), larga experiência em linguagens
de programação, suporte a bases de dados SQL Server. É especialista no sistema
operacional MS Windows NT Server e Workstation 4.0 e trabalha no desenvol-
vimento de aplicações para plataformas Microsoft e de código aberto. Investe
seu tempo na leitura e na sua atualização profissional investigando as novas ten-
dências tecnológicas no mercado de TI.
Finalmente, como fruto do seu compromisso com a promoção dos valores
do Reinode Deus, ele se identificaprofundamente com as causas sociaisque con-
correm de uma forma ou de outra para a construção de uma sociedade mais justa
e igualitária.
IX
Eugênio Reis começou a estudarprogramação, quase quepor acaso, ainda aos 15
anos de idade, num pequeno computador NEZ-8000 com apenas 2k de memó
-
ria e uminterpretador Basic. Hoje,possui mais de17 anos dedicadosao assunto e
domina as mais variadas linguagens de programação em diversos ambientes.
Entre 1999 e 2000, obteve as certificações de MCSE (Microsoft Certified
Systems Engineer), MCSD (Microsoft Certified Solution Developer), MCDBA
(Microsoft Certified Consultant), MCT (Microsoft Certified Trainer), OCP
(Oracle Certified Professional) e Borland Delphi Certified Consultant.
Atualmente, trabalha como Consultor de Desenvolvimento Corporativo em
Ambiente Cliente/Servidor e Distribuído sobre uma base de dados de 1,5 bilhão
de registros (aproximadamente 2 terabytes) para o Governo do Estado de Nova
York, nos Estados Unidos.
Seu hobby preferido é música, é multiinstrumentista de cordas e freqüente
-
mente publica artigos sobre o assunto na Internet. Isso, claro, quando seus dois
filhos, Thales e Alice, e sua esposa Flávia assim o permitem!
Seu Web site é http://www.eugenio.com.br.
X
Sumário
Prefácio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIII
PARTE I
Fundamentos de C# .Net
1 A plataforma .NET . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 A linguagem C# . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
As características do C# . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3 Programação Orientada a Objetos (OOP) em C# . . . . . . . . . 68
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4 Namespaces, Assemblies e documentação
de sistemas usando XML . . . . . . . . . . . . . . . . . . . . . . 95
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Documentando sistemas em C# . . . . . . . . . . . . . . . . . . . . . . 112
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5 Windows Forms . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Usando FORMS: o coração de toda aplicação Windows . . . . . . . . . . 119
Usando o componente TabControl . . . . . . . . . . . . . . . . . . . . . 131
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
XI
[...]... a ele Neste livro, nos basearemos neste ambiente para a apresentação dos exemplos Entendemos que a maioria dos desenvolvedores da plataforma Windows irá usá-lo e por isso achamos desnecessário usar outros ambientes de desenvolvimento m 18 NET SDK Framework: Este ambiente vem junto com o SDK NET e é apenas de linha de comando Pode ser baixado do site da Microsoft C-SharpDevelop: Este ambiente de desenvolvimento... porque estes espaços já foram liberados anteriormente; é exatamente esse tipo de erro que o coletor de lixo nos ajuda a evitar O gerenciamento da memória, quando efetuado diretamente pelo programador, torna os programas mais eficientes em termos de desempenho, mas ao mesmo tempo o penaliza, obrigando-o a alocar e desalocar memória quando assim é requerido A NET permite que o programador faça esse gerenciamento... Suporte a código legado: o C# pode interagir com código legado de objetos COM e DLLs escritas em uma linguagem não-gerenciada m Flexibilidade: se o desenvolvedor precisar usar ponteiros, o C# permite, mas ao custo de desenvolver código não-gerenciado, chamado “unsafe” m Linguagem gerenciada: os programas desenvolvidos em C# executam num ambiente gerenciado, o que significa que todo o gerenciamento de memória... de programação deverão ser mantidos Isso implica necessariamente que uma parte da equipe de desenvolvedores terá de cuidar do suporte, manutenções evolutivas ou corretivas dos sistemas existentes, enquanto outra parte da equipe terá de cuidar do desenvolvimento de sistemas na nova linguagem A resposta para esse problema é razoavelmente simples: a NET não obriga o desenvolvedor a mudar a linguagem de... acima, METADADOS com informações da aplicação também são gerados, e obviamente armazenados na forma de uma DLL ou de um arquivo executável Isso é conhecido como Executável Portável (Portable Executable) ou simplesmente PE Diz-se portável porque ele poderá ser executado em qualquer plataforma que suporte NET, sem necessidade de recompilação, operação que será efetuada automaticamente pelo runtime quando... linguagens de programação o que de melhor encontramos em técnicas de desenvolvimento nas principais linguagens de hoje .NET e JAVA Muito se fala que a NET chegou ao mercado para concorrer pelo espaço ocupado pela linguagem JAVA Em certo sentido isso é verdade, principalmente no que diz respeito ao desenvolvimento de Web Services e aplicações Web “Server Side” (do lado servidor) Entretanto, consideramos... que se encontra neste namespace System.IO Biblioteca para lidar com entrada e saída, gerenciamento de arquivos etc System.NET Aqui você encontra bibliotecas para programação de redes, sockets etc System.Reflection Em NET você pode gerar código em tempo de execução, descobrir tipos de variáveis etc As bibliotecas necessárias para isso encontram-se neste namespace System.Runtime.InteropServices e System.Runtime.Remoting... sistemas precisa ter uma biblioteca de classes básica que alavanque a simplicidade e a rapidez no desenvolvimento de sistemas É este o objetivo da BCL (Biblioteca de Classes Base), oferecer ao desenvolvedor uma biblioteca consistente de componentes de software reutilizáveis que não apenas facilitem, mas também que acelerem o desenvolvimento de sistemas Na BCL encontramos classes que contemplam desde um novo... Mobile … Figura 1.4 Gerenciamento da memória: introduzindo o GC (Garbage Collector) O gerenciamento da memória é efetuado pelo runtime, permitindo que o desenvolvedor se concentre na resolução do seu problema específico O que diz respeito ao sistema operacional, como o gerenciamento da memória, é feito pelo runtime Como isso é efetuado? À medida que uma área de memória é necessária para alocar um objeto,... Linguagem, é um subconjunto do CTS, e define um conjunto de regras que qualquer linguagem que implemente a NET 8 deve seguir a fim de que o código gerado resultante da compilação de qualquer peça de software escrita na referida linguagem seja perfeitamente entendido pelo runtime NET Seguir essas regras é um imperativo porque, caso contrário, um dos grandes ganhos do NET, que é a independência da linguagem . I
C# E .NET – GUIA DO
DESENVOLVEDOR
Consultores Editoriais
Lorenzo Ridolfi
Gerente Sênior Accenture
Sérgio Colcher
Professor do departamento
de Informática. indiretamente, me ajudaram a ser o que eu sou hoje.
In memoriam
Ao meu pai, que recentemente deixou este mundo de maneira tão serena.
"O amor é um oceano
Ngày đăng: 14/02/2014, 07:20
Xem thêm: Tài liệu C# e .NET - Guia do Desenvolvedor pdf