Программирование >>  C# visual basicc# 

1 ... 7 8 9 [ 10 ]


#pragma once #include gcroot.h using namespace System; public ref class Managed

public:

Managed() { } void Foo()

Console::WriteLine( Foo );

public class Native

private:

gcroot<Managed> m p; public:

Native()

m p = gcnew Managed();

void Foo()

m p->Foo();

Специфика C#

Некоторые синтаксические средства C# не были рассмотрены в этом приложении. В C# определен оператор yield, который облегчает создание перечислителей. Данный оператор не доступен в C++/CLI и Visual Basic; в этих языках перечислители должны быть реализованы вручную. К тому же C# определяет специальный синтаксис для допускающих null типов, в то время как другие языки предполагают применение вместо них обобщенных структур Nullable<T>.

C# допускает блоки небезопасного кода, в которых вы можете использовать указатели и арифметику указателей. Это средство чрезвычайно полезно для вызова методов из родных библиотек. Visual Basic не имеет такой возможности; в этом и состоит реальное преимущество C#. C++/CLI не нуждается в ключевом слове unsafe, чтобы определять блоки небезопасного кода. Для C++/CLI очень естественно смешивать родной и управляемый код.

Резюме

В этой главе вы узнали, как отобразить синтаксис C# на Visual Basic и C++/CLI. C++/CLI определяет расширения C++ для написания приложений .NET и следует за C# в расширениях синтаксиса. Хотя C# и C++/CLI имеют общие корни, все же между ними есть много важных отличий. Visual Basic не использует фигурных скобок, но вместо этого более многословен.

На примерах сравнения синтаксиса вы увидели, как отобразить синтаксис C# на C++/CLI и Visual Basic; как выглядят другие языки и как в них определяются типы, методы, свойства; какие ключевые слова используются для объектно-ориентированных средств; как выполняется управление ресурсами; как реализованы в этих трех языках делегаты, события и обобщения.

Хотя большую часть синтаксиса можно отобразить, все же эти языки отличаются по своей функциональности.



1 ... 7 8 9 [ 10 ]

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика