Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> .NET / C# с нуля - как ? С чего начинать, что читать? 
:(
    Опции темы
artfabrique
Дата 25.5.2008, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Дизайн
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.2.2006
Где: СПб

Репутация: нет
Всего: 2



Я Flex/Flash разработчик и никогда не писал C++ во всех его проявлениях (ну разве что ооочень давно - это не считается)
Кодю щас на классической связке AS3/PHP/MySQL но после того как прочитал о возможностях взаимодействия Flex с .NET горю желанием все это выучить.
Поставил себе комплект молодого бойца:
- VS2008 Team
- MSSQL
- WebOrb .NET
- IIS (настроил тестовый сервак на использование 2-го фрэймворка)

Теперь самое главное - с чего начать учить все это дело?
Как я понял синтаксис дико разнится с Java/AS3 и другими из этого симейства. Про PHP я вообще молчу =)
Щас попытался тупо сделать web service и понял что просто без туториала по синтаксису и итд мне не разобратья.
Хотя и схожесть с AS3 есть - бинды, например, - [Блаблабла] или [WebMethod] всерано дико ничего не понятно - даже как к обьектам обращаться итд.

Например чтобы создать обьект я могу написать так:
Код

public class MyClass extends Sprite {

    public var MyObject:Object;
    public static var Instance;

    public function MyClass() {// Конструктор
        if(!Instance) {
            Instance = this;
        } else {
             throw new Error("Попытка повторной инициализации"); 
        }
        
        PutSomeData();
        GetSomeData();
    }
    public function PutSomeData():void {
        MyObject=new Object  ;
        MyObject.asdasd="some string";
        MyObject.sdfsdfsd=new Array("Элемент 1","Элемент 2","Элемент 3");// создаю тупой массив
        MyObject.hjkjkhj={qwer:"свойство 1",qwer2:"свойство 2",qwer3:"свойство 3"};// так тоже можно создать некий обьект с неким набором свойств и присвоить им некие значения
    }
    public function GetSomeData():void {
        // trace() - самая простая функция вывода в консоль
        trace("MyObject.asdasd = " + MyObject.asdasd);// выведет - MyObject.asdasd = some string
        trace("MyObject.sdfsdfsd = " + MyObject.sdfsdfsd);// выведет - MyObject.sdfsdfsd = Элемент 1,Элемент 2,Элемент 3
        trace("MyObject.hjkjkhj = " + MyObject.hjkjkhj);// выведет - MyObject.hjkjkhj = [object Object]
        trace("MyObject.hjkjkhj.qwer2 = " + MyObject.hjkjkhj.qwer2);// выведет - MyObject.hjkjkhj.qwer2 = свойство 2
    }
}


как тоже самое реализовать на C# чтобы это все работало в контексте web service?
--------------------
Я спасу мир! © ЙУХ 0000г.
PM MAIL WWW ICQ   Вверх
vponomarov
Дата 25.5.2008, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 2
Всего: 12



Код

public class MyClass: Sprite {

    public Object MyObject;
    public static MyClass Instance;

    public void MyClass() {// Конструктор
        if(!Instance) {
            Instance = this;
        } else {
             throw new Exception("Попытка повторной инициализации"); 
        }
        
        PutSomeData();
        GetSomeData();
    }

    public void PutSomeData(){
        MyObject=new Object()  ;
        MyObject.asdasd="some string";
        MyObject.sdfsdfsd=new Array("Элемент 1","Элемент 2","Элемент 3");// создаю тупой массив
        MyObject.hjkjkhj={qwer:"свойство 1",qwer2:"свойство 2",qwer3:"свойство 3"};// так тоже можно создать некий обьект с неким набором свойств и присвоить им некие значения
    }

    public void GetSomeData()
{
        // trace() - самая простая функция вывода в консоль
        Console.Writeln("MyObject.asdasd = " + MyObject.asdasd);// выведет - MyObject.asdasd = some string
        Console.Writeln("MyObject.sdfsdfsd = " + MyObject.sdfsdfsd);// выведет - MyObject.sdfsdfsd = Элемент 1,Элемент 2,Элемент 3
        Console.Writeln("MyObject.hjkjkhj = " + MyObject.hjkjkhj);// выведет - MyObject.hjkjkhj = [object Object]
        Console.Writeln("MyObject.hjkjkhj.qwer2 = " + MyObject.hjkjkhj.qwer2);// выведет - MyObject.hjkjkhj.qwer2 = свойство 2
    }
}


примерно так smile 
Код

MyObject.asdasd="some string";
        MyObject.sdfsdfsd=new Array("Элемент 1","Элемент 2","Элемент 3");// создаю тупой массив
        MyObject.hjkjkhj={qwer:"свойство 1",qwer2:"свойство 2",qwer3:"свойство 3"};
....
        Console.Writeln("MyObject.sdfsdfsd = " + MyObject.sdfsdfsd);// выведет - MyObject.sdfsdfsd = Элемент 1,Элемент 2,Элемент 3
        Console.Writeln("MyObject.hjkjkhj = " + MyObject.hjkjkhj);// выведет - MyObject.hjkjkhj = [object Object]
        Console.Writeln("MyObject.hjkjkhj.qwer2 = " + MyObject.hjkjkhj.qwer2);// выведет - MyObject.hjkjkhj.qwer2 = свойство 2

вот эти строчки работать не будут. нужно объявлять члены класса
мне просто лень писать, сорри smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
artfabrique
Дата 26.5.2008, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Дизайн
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.2.2006
Где: СПб

Репутация: нет
Всего: 2



Тоесть создавая обьект - он создается не динамическим и я не могу например вставлять в него новые свойства в рантайм?

тоесть если я делаю так на AS3:

Код

public dynamic class MyDynamicClass{
    var a:String;
    public function MyDynamicClass() {

    }
}

public class MyClass{
    var a:String;
    public function MyClass() {

    }
}

var XXX:MyDynamicClass = new MyDynamicClass();
var YYY:MyClass = new MyClass();

XXX.my_new_var = "blablabla" //все ок т.к. класс динамичный
YYY.my_new_var = "blablabla" //Ошибка при компиляции 1119: Access of possibly undefined property my_new_var through a reference with static type MyClass.


тоесть если я создаю blabla = new Object() - он по умолчанию является динамическим так как класс Object динамический.
--------------------
Я спасу мир! © ЙУХ 0000г.
PM MAIL WWW ICQ   Вверх
vponomarov
Дата 26.5.2008, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 2
Всего: 12



не, в шарпе так нельзя делать.
все члены класса должны быть явно объявлены.


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
QryStaL
Дата 26.5.2008, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 10
Всего: 32



Цитата(artfabrique @  26.5.2008,  09:46 Найти цитируемый пост)
вставлять в него новые свойства в рантайм

Зачем такое вообще нужно?


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
artfabrique
Дата 26.5.2008, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Дизайн
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.2.2006
Где: СПб

Репутация: нет
Всего: 2



ну наскоко я знаю вроде с C++/C# нету ваще динамических классов. Есть что-то похожее что можно приладить - коллекции/
а ваще иногда очень удобно в таком виде хранить инфу разных типов. ну или например в рантайме добавлять новые свойства и методы.
Например, есть человек в пиджаке а мы берем и говорим что он ещё и в борюках теперь, да и с молотком которым гвозди забивают. Но это мне кажется чисто реализация - в C++/C# тоже можно сделать такое но НЕ с помощью как таковых классов/динамических классов.
а ваще по синтаксису C# стэп-бай-стэп где можно почитать, подскажите литру пожалста а то я тут начал изучать "Программирование для Microsoft .NET - Дж. Просиз" но чет туго пока.
--------------------
Я спасу мир! © ЙУХ 0000г.
PM MAIL WWW ICQ   Вверх
vponomarov
Дата 26.5.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 2
Всего: 12



artfabrique, описанной тобой функциональности действительно можно добиться, но не так как ты написал в коде.
примерно это может выглядеть так
Код

class Human
{
     ArrayList stuff;
     public Human()
    {
           stuff=new ArrayList();
           stuff.Add(new Trousers());
           stuff.Add(new Jacket());
           stuff.Add(new Hummer());
     }

     public some_action()
    {
           ((Hummer)stuff[2]).SmashNails(22);
    }
}

для обучения мне нравится Троелсен "С# 2005 для  проффесионалов" или че-т в этом духе


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.