Симон Робинсон - C# для профессионалов. Том II
- Название:C# для профессионалов. Том II
- Автор:
- Жанр:
- Издательство:Лори
- Год:2003
- Город:Москва
- ISBN:5-85582-187-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Симон Робинсон - C# для профессионалов. Том II краткое содержание
Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.
В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.
Для кого предназначена эта книгаЭта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.
Основные темы книги• Все особенности языка C#
• C# и объектно-ориентированное программирование
• Приложения и службы Windows
• Создание web-страниц и web-служб с помощью ASP NET
• Сборки .NET
• Доступ к данным при помощи ADO NET
• Создание распределённых приложений с помощью NET Remoting
• Интеграция с COM, COM+ и службой Active Directory
C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Все это приводит к тому, что исходный код получается более длинным и более сложным. Однако огромное его преимущество заключается в том, что он обеспечивает значительно большую гибкость в том, что делает программа и как она себя ведет. А значит, можно написать намного больше типов проектов в C#. В то время как в Visual Basic возможно написание только различных видов форм и компонентов COM, в C# вы в праве написать любую из различных типов программ, которые выполняются под Windows. Это включает, например, консольные приложения (командной строки) и страницы ASP.NET (наследник ASP), что нельзя написать в VB6 (можно использовать VBScript для страниц ASP). В этом приложении, однако, мы сосредоточимся на классических приложениях GUI для Windows.
Код C# для оставшейся части программы
В этом разделе будет рассмотрена оставшаяся часть кода для примера SquareSample
, в результате чего мы узнаем немного больше о классах в C#.
Пример SquareRoot
на C# был создан в Visual Studio.NET, а пример на VB — в IDE VB6. Однако представленный здесь код является не совсем тем, который сгенерировала Visual Studio.NET. Помимо добавления обработчика событий, сделаны и другие изменения в коде, чтобы лучше проиллюстрировать принципы программирования в C#. Но несмотря ни на что, он все-таки даст хорошее представление о той работе, которую делает Visual Studio.NET, когда создает проект.
Весь текст исходного кода достаточно длинный. Он представлен здесь для полноты, но лучше сразу перейти к последующим объяснениям и обращаться к исходному коду по мере необходимости.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace Wrox.ProfessionalCSharp.AppendixC.SquareRootSample {
///
/// Form, которая формирует основное окно приложения:
///
public class SquareRootForm : System.Windows.Forms.Form {
private System.Windows.Forms.TextBox txtNumber;
private System.Windows.Forms.TextBox txtSign;
private System.Windows.Forms.TextBox txtResult;
private System.Windows.Forms.Button cmdShowResults;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows Forms.Label label3;
private System.Windows.Forms.Label label4;
///
/// Необходимые для designer переменные.
///
private System.ComponentModel.Container components;
public SquareRootForm() {
InitializeComponent();
}
public override void Dispose() {
base.Dispose();
if(components != null) components.Dispose();
}
#region Windows Form Designer generated code
///
/// Требуемый для поддержки Designer метод - не изменять
/// содержимое этого метода с помощью редактора кода.
///
private void InitializeComponent() {
this.txtNumber = new System.Windows.Forms.TextBox();
this.txtSign = new System.Windows.Forms.TextBox();
this.cmdShowResults = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.txtResult = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// txtNumber
//
this.txtNumber.Location = new System.Drawing.Point(160, 24);
this.txtNumber.Name = "txtNumber";
this.txtNumber.TabIndex = 0;
this.txtNumber.Text = "";
//
// txtSign
//
this.txtSign.Enabled = false;
this.txtSign.Location = new System.Drawing.Point(160, 136);
this.txtSign.Name = "txtSign";
this.tхtSign.TabIndех = 1;
this.txtSign.Text = "";
//
// cmdShowResults
//
this.cmdShowResults.Location = new System.Drawing.Point(24, 96);
this.cmdShowResults.Name = "cmdShowResults";
this.cmdShowResults.Size = new System.Drawing.Size(88, 23);
this.cmdShowResults.TabIndex = 3;
this.cmdShowResults.Text = "Show Results";
this.cmdShowResults.Click +=
new System.EventHandler(this.OnClickShowResults);
//
// label3
//
this.label3.Location = new System.Drawing.Point(72, 24);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(80, 23);
this.label3.TabIndex = 6;
this.label3.Text = "Input a number";
//
// label4
//
this.label4.Location = new System.Drawing.Point(80, 184);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(80, 16);
this.label4.TabIndex = 7;
this.label4.Text = "Square root is";
//
// label1
//
this.label1.Location = new System.Drawing.Point(112, 136);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(40, 23);
this.label1.TabIndex = 4;
this.label1.Text = "Sign is";
//
// label2
//
this.label2.Location = new System.Drawing.Point(48, 184);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(8, 8);
this.label2.TabIndex = 5;
//
// txtResult
//
this.txtResult.Enabled = false;
this.txtResult.Location = new System.Drawing.Point(160, 184);
this.txtResult.Name = "txtResult";
this.txtResult.TabIndex = 2;
this.txtResult.Text = "";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 269);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.label4, this.label3, this.label2, this.label1,
this.cmdShowResults, this.txtResult, this.txtSign, this.txtNumber
});
this.Name = "Form1";
this.Text = "Square Root C# Sample";
this.ResumeLayout(false);
}
#endregion
///
/// Обработчик событий для нажатия пользователем кнопки Show Results
/// Выводит квадратный корень и знак числа
///
///
///
private void OnClickShowResults(object sender, System.EventArgs e) {
float NumberInput = float.Parse(this.txtNumber.Text);
if (NumberInput < 0) {
this.txtSign.Text = "Negative";
this.txtResult.Text = Math.Sqrt(-NumberInput) + " i";
} else if (NumberInput == 0) {
txtSign.Text = "Zero";
txtResult.Text = "0";
} else {
this.txtSign.Text = "Positive";
this.txtResult.Text = Math.Sqrt(NumberInput).ToString();
}
}
}
class MainEntryClass {
///
/// Основная точка входа приложения.
///
[STAThread]
static void Main() {
SquareRootForm TheMainForm = new SquareRootForm();
Application.Run(TheMainForm);
}
}
}
Пространства имен
Основная часть исходного кода SquareRoot
на C# начинается с объявлений пространств имен и класса:
namespace Wrox.ProfessionalCSharp.AppendixC.SquareRootForm {
public class SquareRootForm : System.Windows.Forms.Form {
Класс SquareRootForm
будет содержать почти весь код — все методы и т.д. с небольшим объемом кода, находящимся в классе с именем MainEntryClass
. Помните что легче всего здесь представлять класс как объект класса VB, хотя есть одно различие, состоящее в том, что реально виден исходный код, который начинается с объявления класса. В VB среда разработки — это просто отдельное окно, содержащее код класса.
Пространство имен не имеет аналогии в VB и проще всего представить его как способ организации имен классов таким образом, как файловая система организует имена файлов. Например, почти наверняка на жестком диске имеется большое количество файлов, которые имеют имя ReadMe.txt
. Если бы это имя было единственной информацией о каждом файле, то невозможно было бы различить все эти файлы. Но есть полные имена доступа, например, C:\Program Files\ReadMe.txt
и G:\Program Files\HTML Help Workshop\ReadMe.txt
.
Интервал:
Закладка: