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

668
Тип взаимодействия не может быть встроен

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

587
Каковы истинные преимущества ExpandoObject?

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

378
В чем разница между задачей и потоком?

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

361
Почему необязательные параметры C # 4, определенные в интерфейсе, не применяются в классе реализации?

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

294
.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" } } ] } Мои...

267
Parallel.ForEach vs Task.Factory.StartNew

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

233
Динамическое добавление свойств в ExpandoObject

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

204
Наименование в классах Tuple лучше, чем «Item1», «Item2»

Есть ли способ использовать класс Tuple, но указать имена элементов в нем? Например: public Tuple<int, int, int int> GetOrderRelatedIds() Это возвращает идентификаторы для OrderGroupId, OrderTypeId, OrderSubTypeId и OrderRequirementId. Было бы хорошо, чтобы пользователи моего метода знали,...

180
HttpListener Отказано в доступе

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

168
Как компилятор C # обнаруживает типы COM?

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

163
Когда утилизировать CancellationTokenSource?

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

162
Пример ковариантности и контравариантности в реальном мире

У меня небольшие проблемы с пониманием того, как я буду использовать ковариацию и контравариантность в реальном мире. До сих пор я видел только один и тот же старый пример массива. object[] objectArray = new string[] { "string 1", "string 2" }; Было бы неплохо увидеть пример, который позволил бы...

159
C # Создать новый T ()

Вы можете увидеть, что я пытаюсь (но не могу) сделать с помощью следующего кода: protected T GetObject() { return new T(); } Любая помощь будет принята с благодарностью. РЕДАКТИРОВАТЬ: Контекст был следующим. Я играл с пользовательским классом контроллеров для всех контроллеров, используя...

151
Безопасно ли использовать HttpClient одновременно?

Во всех примерах, которые я могу найти HttpClient, он используется для разовых вызовов. Но что, если у меня постоянная клиентская ситуация, когда несколько запросов могут быть сделаны одновременно? В принципе, безопасно ли вызывать client.PostAsync2 потока одновременно против одного и того же...

149
Почему ковариация и контравариантность не поддерживают тип значения

IEnumerable<T>является ко-вариантом, но не поддерживает тип значения, только ссылочный тип. Приведенный ниже простой код успешно скомпилирован: IEnumerable<string> strList = new List<string>(); IEnumerable<object> objList = strList; Но переход от stringк intполучит...