Вопросы с тегом «c#-4.0»

C # 4.0 представил такие функции, как динамические объекты, улучшения взаимодействия с COM, общую ко- и контр-дисперсию, необязательные и именованные параметры. Используйте этот тег, если ваш вопрос касается конкретных функций C # 4.0. Тег C # следует использовать, если ваш вопрос не относится к функциям C # 4.0.

10
Тип взаимодействия не может быть встроен
Я создаю веб-приложение на платформе .NET 4.0 (бета2) в C #. Когда я пытаюсь использовать сборку под названием «ActiveHomeScriptLib», я получаю следующую ошибку: Тип взаимодействия ActiveHomeScriptLib.ActiveHomeClass не может быть встроен. Вместо этого используйте соответствующий интерфейс. Когда я меняю фреймворк на версию 3.5, у меня не возникает никаких ошибок. Что такое …

10
Каковы истинные преимущества ExpandoObject?
Класс ExpandoObject , добавляемый в .NET 4, позволяет произвольно устанавливать свойства объекта во время выполнения. Есть ли какие-либо преимущества перед использованием Dictionary<string, object>или даже Hashtable ? Насколько я могу судить, это не что иное, как хеш-таблица, к которой вы можете получить доступ с немного более лаконичным синтаксисом. Например, почему это …
587 c#  .net  .net-4.0  c#-4.0 

8
В чем разница между задачей и потоком?
В C # 4.0 мы имеем Taskв пространстве имен System.Threading.Tasks . В чем истинная разница между Threadи Task. Я сделал несколько примеров программ (помощь взята из MSDN) для собственного обучения Parallel.Invoke Parallel.For Parallel.ForEach но есть много сомнений, так как идея не так ясна. Сначала я искал в Stackoverflow вопрос похожего …

4
Почему необязательные параметры C # 4, определенные в интерфейсе, не применяются в классе реализации?
Я заметил, что с необязательными параметрами в C # 4, если вы указываете необязательный параметр на интерфейсе, который вам не нужен, вы должны сделать этот параметр необязательным для любого реализующего класса: public interface MyInterface { void TestMethod(bool flag = false); } public class MyClass : MyInterface { public void TestMethod(bool …

5
.NET NewtonSoft JSON десериализует карту с другим именем свойства
У меня есть следующая строка JSON, полученная от внешней стороны. { "team":[ { "v1":"", "attributes":{ "eighty_min_score":"", "home_or_away":"home", "score":"22", "team_id":"500" } }, { "v1":"", "attributes":{ "eighty_min_score":"", "home_or_away":"away", "score":"30", "team_id":"600" } } ] } Мои классы картирования: public class Attributes { public string eighty_min_score { get; set; } public string home_or_away { …

4
Parallel.ForEach vs Task.Factory.StartNew
В чем разница между приведенными ниже фрагментами кода? Не будут ли оба использовать потоки потоков? Например, если я хочу вызвать функцию для каждого элемента в коллекции, Parallel.ForEach<Item>(items, item => DoSomething(item)); vs foreach(var item in items) { Task.Factory.StartNew(() => DoSomething(item)); }


4
Динамическое добавление свойств в ExpandoObject
Я хотел бы динамически добавлять свойства ExpandoObject во время выполнения. Так, например, чтобы добавить свойство свойства строки NewProp, я хотел бы написать что-то вроде var x = new ExpandoObject(); x.AddProperty("NewProp", System.String); Это легко возможно?


15
Наименование в классах Tuple лучше, чем «Item1», «Item2»
Есть ли способ использовать класс Tuple, но указать имена элементов в нем? Например: public Tuple<int, int, int int> GetOrderRelatedIds() Это возвращает идентификаторы для OrderGroupId, OrderTypeId, OrderSubTypeId и OrderRequirementId. Было бы хорошо, чтобы пользователи моего метода знали, что есть что. (Когда вы вызываете метод, результаты являются result.Item1, result.Item2, result.Item3, result.Item4. Не …
204 c#  c#-4.0  tuples 

10
HttpListener Отказано в доступе
Я пишу HTTP-сервер в C #. Когда я пытаюсь выполнить функцию, HttpListener.Start()я получаю HttpListenerExceptionвысказывание "В доступе отказано". Когда я запускаю приложение в режиме администратора в Windows 7, оно работает нормально. Можно ли заставить его работать без режима администратора? если да как? Если нет, как я могу перевести приложение в режим …


4
Как компилятор C # обнаруживает типы COM?
РЕДАКТИРОВАТЬ: я написал результаты в виде сообщения в блоге . Компилятор C # обрабатывает COM-типы магическим образом. Например, это утверждение выглядит нормально ... Word.Application app = new Word.Application(); ... пока не поймешь, что Applicationэто интерфейс. Вызов конструктора для интерфейса? Йойку! Это на самом деле переводится в вызов Type.GetTypeFromCLSID()и другой Activator.CreateInstance. …


7
Когда утилизировать CancellationTokenSource?
Класс CancellationTokenSourceодноразовый. Быстрый просмотр Reflector доказывает использование KernelEvent(весьма вероятного) неуправляемого ресурса. Так CancellationTokenSourceкак не имеет финализатора, если мы не распорядимся им, сборщик мусора не сделает этого. С другой стороны, если вы посмотрите на примеры, перечисленные в статье MSDN Отмена в управляемых потоках , только один фрагмент кода избавится от токена. …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.