Как стать автором
Обновить

Комментарии 16

Зачем статья с такими базовыми вещами? Нужен хардкор!
Мне, как изучающему C# это интересно =) Правда, со многими нюансами я уже был знаком, но поведение констант и readonly для меня было немного в новинку. Но, вообще, думаю, автор оригинальных статей просто поставил перед собой цель описать процесс перехода с AS3 на C# с самого нуля, что, на мой взгляд, правильно.
Я бы говорил про const и readonly в другом порядке. Readonly — это полный аналог const из AS3, а const — особенность C#.
Следует упомянуть, что авто-свойства с одним аксессором недопустимы в C#. Например, вот этот пример не скомпилируется:

class Person
{
    public String Name { get; }
}

Необходимо добавить либо set, либо тело геттера.

Кроме того, везде пропущены модификаторы доступа — не знаю, как в AS, но в C# если не указать у поля public, оно будет приватным и не будет доступно извне.
Допустимы, но только в C# 6.0, и если оно инициализируется в через знак равно или в конструкторе.
А как быть с динамическими объектами?

Например

var object:Object = {x: 1, y: 2};


Или коллбеками:

sprite.addEventListener(Event.COMPLETE, 
    function(e:Event):void 
    {
          trace(e); 
    }
);


Кратко:
var object = new { x = 1, y = 2 };

// Если sprite.Complete - событие (event)
sprite.Complete += new EventHandler(trace);
sprite.Complete += e => trace(e); // вариант с анонимным замыканием ("лямбдой")

// Если sprite.Complete - делегат (т.е. просто поле или свойство)
sprite.Complete = new EventHandler(trace);
sprite.Complete = e => trace(e);

// Если надо просто передать callback в метод:
sprite.addEventListener(Event.COMPLETE, new EventHandler(trace));
sprite.addEventListener(Event.COMPLETE, e => trace(e));
Классно! Про var не знал. Особенно что можно создать такой объект.

А можно ли создавать более сложные объекты?

var object:Object = {
    name: "Alex",
    age: 30,
    gender: "male",
    friends: [
          ...
    ]
}


Хотя вот здесь нашел примеры
msdn.microsoft.com/en-us/library/bb384090.aspx
msdn.microsoft.com/ru-ru/library/bb384061.aspx
Создать-то их можно. Но без явного типа их сложно передать за пределы того метода, где они объявлены.
Почему статья называется C# для AS3 разработчиков, а на логотипе Unity? Или У нас «скриптеры» думают, что в Unity придумали C#?
Потому что статья написана для тех, кто уходит с Flash, но не хочет при этом менять область деятельности.
Unreal Engine 4 поддерживает C# через тот же Mono. Где логотип Unreal Engine? При том, что UE4 мощнее, расширяемее и круче «из коробки», чем этот ваш Unity. Что за дискриминация?

Xamarin работает на C#. Почему нет его логотипа?

C# придумали в Microsoft. Где логотип Microsoft, в конце концов?

В конце концов — где в оригинальной статье (откуда перевод сделан) хоть 1 слово про Unity в заголовке или в теле статьи?
Статья хорошо, за исключением того, что в теме ни слова о Unity нет, зато есть логотип этой компании.
Добрый день, мы с вами не знакомы лично, но о вас уже ходят «притчи во языцех» и ваш ник в определённых кругах стал именем нарицательным, когда говорят о человеке, которые «рьяно-любит-Flash-и-AIR-и-всячески-поносит-Unity».

А теперь по-факту вопроса: на сайте-оригинале есть статья, которая непосредственно предшествует всем статьям «From AS3 to C#...», и называется она: From Flah to Unity ( jacksondunstan.com/articles/2632 ), в этой статье автор (Jackson Dunstan) рассказывает, почему он сам решил переходить на Unity и почему он планирует создать ряд статей по переходу с AS3 на C#. Так что в рамках данных переводов можно рассматривать C#, как инструмент для работы с Unity.
Вечер добрый. Еще раз хочу повторить свои слова выше:
Статья хорошая, за исключением того, что в теме ни слова о Unity нет.


Я просто консервативный человек и требовательная зануда. Если нет ссылки на предыдущие 2 статьи или их перевод — не должно быть ничего, что не относится к данной теме. А имеено упоминание Unity там, где в оригинале о нем ни слова. Ведь мы так же можем порекламировать любой продукт лишь потому, что «ну автор же на сайте говорил, что предпочитает ноутбуки HP… только в других статьях»…

в этой статье автор (Jackson Dunstan) рассказывает

Знаю его немного. т.к. тоже работал с Disney над теми же проектами, что и он.
Спасибо за развёрнутый ответ.

Я вашу точку зрения понял, но, как я писал уже выше, в данном контексте C# рассматривается исключительно как способ перейти на другие инструменты клиентской разработки (лично мне C# для серверных разработок не интересен, и, на данном этапе, интересен только, как инструмент для работы с Unity).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации