框架源代码调试仅用于非常有限的命名空间

本文关键字:命名空间 非常 用于 源代码 调试 框架 | 更新日期: 2023-09-27 18:12:54

我花了2个小时才让它正常工作,我猜几乎阅读了这里所有的答案。
作为一个c#新手,我想学习和更好地理解接口是如何在框架中实现和使用的。

自动加载源代码似乎只适用于这组有限的程序集:http://referencesource.microsoft.com/indexedpdbs.txt

但是:我能做些什么来调试到ArrayList方法在我的例子是System.Collections的一部分,不包括吗?

不应该是mscorlib的一部分,它是列表的一部分吗?

相反,我可以调试到例如任何窗体属性的源代码。

这里是代码,可能你知道这段代码行从一个旧的考试准备书:

static void Main(string[] args)
    {
        ArrayList shoppingCart = new ArrayList();
        shoppingCart.Add(new ShoppingCartItem("Car", 5000));
        shoppingCart.Add(new ShoppingCartItem("Book", 30));
        shoppingCart.Add(new ShoppingCartItem("Phone", 80));
        shoppingCart.Add(new ShoppingCartItem("Computer", 1000));
        shoppingCart.Sort(); // this are the two lines I wanted to examine
        shoppingCart.Reverse();

    }
    public class ShoppingCartItem : IComparable
    {
        public string itemName;
        public double price;
        public ShoppingCartItem(string _itemName, double _price)
        {
            this.itemName = _itemName;
            this.price = _price;
        }
        public int CompareTo(object obj)
        {
            ShoppingCartItem otherItem = (ShoppingCartItem)obj;
            return this.price.CompareTo(otherItem.price);
        }
    }

框架源代码调试仅用于非常有限的命名空间

如果你打算从源代码中学习,你现在应该从。net Core 5源代码开始,它是完全开源的,

https://github.com/dotnet/corefx

我说的完全是指微软开放了CLR运行时、BCL、MSBuild、编译器和所有需要的东西。

参考源代码曾经发布过一次用于调试。这就是为什么微软只发布了一组有限的文件(因为你从来没有真正需要调试成简单的类型,如ArrayList,它们只是工作)。