调试窗口中的本地变量

时间:2018-03-18 02:52:55

标签: c# visual-studio debugging f# visual-studio-debugging

我无法在MS Visual Studio的Locals窗口中看到局部变量result,所有其他变量及其类型都显示正常。

控制已在第33行,但我看不到第29行的效果(参见图像)

第28和29行的代码

let dataContractJsonSerializer = new DataContractJsonSerializer(typeof<List[]>)
let result = (dataContractJsonSerializer).ReadObject(memoryStream) :?> List[]

编辑 - 根据更多代码的请求

[<DataContract>]
type List= {
    [<field: DataMemberAttribute(Name="href") >]
    Href: string
}

服务电话

let response = request.GetResponse() :?> HttpWebResponse
use reader = new StreamReader(response.GetResponseStream())
use memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(reader.ReadToEnd()))
let result = (new DataContractJsonSerializer(typeof<List[]>)).ReadObject(memoryStream) :?> List[]

enter image description here

1 个答案:

答案 0 :(得分:1)

更新:由于优化,它似乎没有出现。

引自https://msdn.microsoft.com/en-us/library/aa309368(v=vs.71).aspx:&#34;优化的效果是删除与变量z相关的代码,该代码从未使用过。另请注意,Locals窗口不包含变量z的节点。&#34;

private void InitializeComponent() {
...
  int j = 10, k = 20, z = 0;
  for (int i = 0; i < 10; i++) {
    z = j+k;
    btnNumbers[i].Size = new Size(30, 30);
    btnNumbers[i].Click += new System.EventHandler(btnNumbersClicked);
 }
...

如果可以的话,请粘贴完整的代码而不是仅仅两行。

话虽如此,这对我有用。你可能遗漏了班上的DataContractsDataMember

enter image description here