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

C # (произносится как «видеть резкое») - это статически типизированный, многопарадигмальный язык программирования высокого уровня, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, в том числе .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном в формальной спецификации C # или C #.

12
Почему я не могу наследовать статические классы?
У меня есть несколько классов, которые действительно не нуждаются в каком-либо состоянии. С организационной точки зрения я бы хотел поместить их в иерархию. Но, похоже, я не могу объявить наследование для статических классов. Что-то такое: public static class Base { } public static class Inherited : Base { } не …
224 c#  inheritance  static 

9
Слушайте нажатие клавиш в консольном приложении .NET
Как я могу продолжать запускать консольное приложение, пока не нажата клавиша (например Esc, нажата?) Я предполагаю, что это обернуто вокруг цикла времени. Мне не нравится, ReadKeyпоскольку он блокирует работу и запрашивает клавишу, а не просто продолжает и слушает нажатие клавиши. Как это может быть сделано?

11
Почему интерфейсы C # не могут содержать поля?
Например, предположим, что мне нужен ICarинтерфейс, и что все реализации будут содержать поле Year. Значит ли это, что каждая реализация должна декларировать отдельно Year? Разве не было бы лучше просто определить это в интерфейсе?
223 c#  interface 

4
Токен аннулирования в конструкторе задач: почему?
Некоторые System.Threading.Tasks.Taskконструкторы принимают CancellationTokenв качестве параметра: CancellationTokenSource source = new CancellationTokenSource(); Task t = new Task (/* method */, source.Token); Что меня сбивает с толку, так это то, что изнутри тела метода не существует способа фактически получить переданный токен (например, ничего подобного Task.CurrentTask.CancellationToken). Токен должен быть предоставлен через какой-то другой …

9
Почему нет ICloneable <T>?
Есть ли конкретная причина, по которой дженерик ICloneable&lt;T&gt;не существует? Было бы намного удобнее, если бы мне не нужно было разыгрывать его каждый раз, когда я что-то клонирую.
223 c#  .net  icloneable 

10
Загрузить WPF BitmapImage из System.Drawing.Bitmap
У меня есть экземпляр a, System.Drawing.Bitmapи я хотел бы сделать его доступным для моего приложения WPF в форме a System.Windows.Media.Imaging.BitmapImage. Что будет лучшим подходом для этого?
223 c#  wpf  bitmap 

7
Зачем использовать «виртуальный» для свойств класса в определениях модели Entity Framework?
В следующем блоге: http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx Блог содержит следующий пример кода: public class Dinner { public int DinnerID { get; set; } public string Title { get; set; } public DateTime EventDate { get; set; } public string Address { get; set; } public string HostedBy { get; set; } public virtual …
223 c#  class  properties  virtual 

12
Как вызвать асинхронный метод из метода получения или установки?
Каков был бы самый элегантный способ вызова асинхронного метода из метода получения или установки в C #? Вот некоторый псевдокод, чтобы объяснить себя. async Task&lt;IEnumerable&gt; MyAsyncMethod() { return await DoSomethingAsync(); } public IEnumerable MyList { get { //call MyAsyncMethod() here } }
223 c#  async-ctp 

11
Отписаться анонимный метод в C #
Можно ли отписаться анонимным методом от события? Если я подпишусь на такое событие: void MyMethod() { Console.WriteLine("I did it!"); } MyEvent += MyMethod; Я могу отменить подписку, как это: MyEvent -= MyMethod; Но если я подпишусь, используя анонимный метод: MyEvent += delegate(){Console.WriteLine("I did it!");}; Можно ли отписаться от этого анонимного …

16
Получить правильный номер недели на указанную дату
Я много гуглил и нашел много решений, но ни одно из них не дает мне правильный номер недели на 2012-12-31. Даже пример на MSDN ( ссылка ) терпит неудачу. 2012-12-31 - понедельник, поэтому это должна быть неделя 1, но каждый метод, который я пробовал, дает мне 53. Вот некоторые из …
222 c#  asp.net  .net  date 


20
«Удаленный сертификат недействителен в соответствии с процедурой проверки». используя SMTP-сервер Gmail
Я получаю эту ошибку: Удаленный сертификат недействителен в соответствии с процедурой проверки. всякий раз, когда я пытаюсь отправить электронную почту, используя SMTP-сервер Gmail в моем коде C #. Может кто-нибудь указать мне правильное направление для решения этой проблемы? Ниже приведена трассировка стека ... at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) …
222 c#  email  smtp 

11
Получить текущий путь к папке
Я хочу создать программу, которая конвертирует файлы. Я хотел бы, чтобы пользователь мог поместить исполняемый файл в любой каталог, и при выполнении этой программы (двойной щелчок на .exe) я хочу, чтобы программа обрабатывала все файлы в текущей папке, где существует исполняемый файл . Как программа может определить путь, по которому …
222 c#  .net  winforms  path 

13
Как добавить строку в массив string []? Там нет. Добавить функцию
private string[] ColeccionDeCortes(string Path) { DirectoryInfo X = new DirectoryInfo(Path); FileInfo[] listaDeArchivos = X.GetFiles(); string[] Coleccion; foreach (FileInfo FI in listaDeArchivos) { //Add the FI.Name to the Coleccion[] array, } return Coleccion; } Я хотел бы преобразовать в FI.Nameстроку, а затем добавить его в мой массив. Как я могу это …

13
Как динамически создать класс?
У меня есть класс, который выглядит так: public class Field { public string FieldName; public string FieldType; } И объект List&lt;Field&gt; со значениями: {"EmployeeID","int"}, {"EmployeeName","String"}, {"Designation","String"} Я хочу создать класс, который выглядит следующим образом: Class DynamicClass { int EmployeeID, String EmployeeName, String Designation } Есть какой-либо способ сделать это? Я …

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