Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 19:42   #1
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,303
По умолчанию Использование типа dynamic

Читаю учебник Г.Шилдта "Полное руководсво С# 4.0". Там есть вот такой код (стр. 703-704):
Код:
using System; 
using System.Globalization; 
class DynDemo { 
    static void Main() { 
       // Объявить две динамические переменные, 
       dynamic str; 
       dynamic val; 

       // Поддерживается неявное преобразование в динамические типы. 
       // Поэтому следующие присваивания вполне допустимы, 
       str = "Это строка"; 
       val = 10; 

       Console.WriteLine("Переменная str содержит: " + str); 
       Console.WriteLine("Переменная val содержит: " + val + '\n'); 

       str = str.ToUpper(Culturelnfo.CurrentCulture); // !! Вот тут мой вопрос
       val = val + 2;

       Console.WriteLine("Переменная str теперь содержит: " + str); 
       Console.WriteLine("Переменная val теперь содержит: " + val + '\n' 
       .......
      }
}
И вот такое пояснение:
Цитата:
В данном случае для переменной
str вызываются методы ToUpper () и ToLower () класса String, ... ,И хотя все перечисленные выше действия
совместимы с типами объектов, присваиваемых обеим переменным в
рассматриваемом здесь примере, компилятору об этом ничего не известно — он просто принимает.
Ну так вот. Я пытаюсь скомпилить в VS 2010 вот такой код:
Код:
using System;

class Demo
{
    static void Main()
    {
        dynamic str = "привет";
        int val = str.Length;
        Console.WriteLine(val);
        Console.ReadKey();
    }
}
И что я вижу? Кое что с маслом я вижу. Компиль ругается вот так:
Цитата:
Не удается обнаружить один или несколько типов, необходимых для компиляции динамического выражения. Отсутствуют ли ссылки на Microsoft.CSharp.dll и System.Core.dll? c:\documents and settings\ирина\мои документы\visual studio 2010\Projects\Project5\Project5\Cod eFile1.cs 8 19 Project5
WTF?

P.S.
Компилил консолью. Файл exe я получаю. Но при запуске выдается такое же исключение.
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.

Последний раз редактировалось MooNDeaR; 25.01.2012 в 19:45.
MooNDeaR вне форума Ответить с цитированием
Старый 25.01.2012, 19:49   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Если используется тип dynamic, то эти библиотеки должны быть подключены в проект. Так ли это?
Hollander вне форума Ответить с цитированием
Старый 25.01.2012, 19:50   #3
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,303
По умолчанию

Цитата:
Сообщение от Hollander Посмотреть сообщение
Если используется тип dynamic, то эти библиотеки должны быть подключены в проект. Так ли это?
В учебнике об этом ни слова не сказано, а также написано, что данный код полюбому должен компилится. И как же мне их подцепить? Где мне их найти?
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.
MooNDeaR вне форума Ответить с цитированием
Старый 25.01.2012, 20:27   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Прав. клик на имени проект->Add Reference. Откроется окно с доступными библиотеками и во вкладке .NET ищем нужные.
Hollander вне форума Ответить с цитированием
Старый 25.01.2012, 20:33   #5
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,303
По умолчанию

Цитата:
Сообщение от Hollander Посмотреть сообщение
Прав. клик на имени проект->Add Reference. Откроется окно с доступными библиотеками и во вкладке .NET ищем нужные.
Спасибо, помогло.
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.
MooNDeaR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Dynamic Data Exchange tolikman Microsoft Office Excel 2 12.08.2011 20:34
Паскаль.Использование множественного типа **star** Помощь студентам 9 21.11.2009 16:44
Использование собственного типа для юнита Алекс Ялта Gamedev - cоздание игр: Unity, OpenGL, DirectX 17 26.03.2009 15:55