2015-08-14 4 views
7

Может ли кто-нибудь сказать мне, почему отладчик обрабатывает мою переменную string с именем Date как объект DateTime?Имя переменной строки Date действует в отладчике

Код:

public class HourRegistration 
{ 
    public string Date { get; set; } 
} 

См захват экрана:

enter image description here

Использование рамки .NET 4.5, VS-2015

Спасибо!

Update:

Уменьшая код к минимально возможному, я нашел очевидную проблему.

Минимально уменьшенный код:

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      DoSomething(); 
     } 

     public static void DoSomething() 
     { 

      DateTime Date = DateTime.ParseExact("asdasd", "dd/MM/yyyy", CultureInfo.InvariantCulture); 
     } 

     public class HourRegistration 
     { 
      public string Date { get; set; } 
     } 
    } 
} 

Скриншот: enter image description here

Это был другой переменным в другом контексте с именем точно так же, как строка, и отладчик показал деталь другого объекта (основанный на контексте)

+2

Что вы установили для этого? У вас есть пользовательские визуализаторы? Что это за приложение? (Если вы можете воспроизвести это в консольном приложении, это было бы особенно интересно.) –

+1

В настоящее время я не могу воспроизвести это - неясно, какой именно контекст, если честно, - это выполнение, которое в настоящий момент остановлено в 'Date' getter ? Где-нибудь еще? (Мне интересно, в каком экземпляре он смотрит ...) –

+0

Я уменьшаю ненужный код. Отладка чей-то кода. Попытка сделать небольшое консольное приложение для изоляции проблемы. – DDan

ответ

0
//There in your above question you are creating a new object with datatype as datetime and variable as Date but this Date is not the one you described in your model.For that you have to do something like below: 


HourRegistration model = new HourRegistration(); 
    model.Date = DateTime.ParseExact("asdasd", "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString(); 

//But this code gives an error since you cannot pass a string value to date.It makes no sense. 
0

Когда вы ищете переменные значения в режиме отладки, оно соответствует na меня, а не по адресу памяти.

Я согласен с другими, это можно сделать лучше, более того, я видел это вопрос в предыдущих версиях (по крайней мере, против 2013 года).

Смежные вопросы