Tôi đã xem xét một số mã trong trình gỡ lỗi liên kết với công cụ Razor View và tôi nhận thấy rằng một số loại xuất hiện trong Debugger có ký tự dấu chấm ở cuối tên loại ví dụ:Dấu chấm trên loại C# cho biết điều gì?
{Nancy. ViewEngines.Razor.RazorViewEngine.}
Có ai biết điều này cho biết không? Cú pháp không hợp lệ để sử dụng nó khi chỉ định một diễn viên trên một đối tượng vì vậy tôi bị hấp dẫn như những gì nó chỉ ra trong trình gỡ rối.
EDIT: Theo yêu cầu của @Damien_The_Unbeliever, ảnh chụp màn hình của biến trong chương trình gỡ rối:
Và đoạn code mà tôi đang tìm tại địa chỉ:
public TCompiledView GetOrAdd<TCompiledView>(
ViewLocationResult viewLocationResult, Func<ViewLocationResult, TCompiledView> valueFactory)
{
TCompiledView compiledView = default(TCompiledView);
compiledView = (TCompiledView)this.cache.GetOrAdd(viewLocationResult, x => valueFactory(x));
Để cung cấp cho một nền ít hơn, chúng tôi đang cố gắng thêm đăng nhập vào bộ đệm ẩn của chúng tôi để xem xét một vấn đề liên tục với Razor Views ném lỗi biên dịch, nhưng điều đó không thực sự liên quan đến nhiệm vụ ion.
Mã tự động tạo thư viện này. System.CodeDom được hiển thị, có thể một số Reflection.Emit một nơi nào đó và bạn đang nửa chừng để giải thích. Chỉ cần gửi báo cáo lỗi với [dự án] (https://github.com/NancyFx/Nancy/issues). –
Cách thực hiện 'ToString() 'ngu ngốc là phỏng đoán của tôi. Kiểm tra nó trên loại thực tế bạn có thể nhìn thấy trong cửa sổ xem. – leppie
@leppie 'ToString' có thể cung cấp một cái gì đó như' "Nancy.ViewEngines.Razor.RazorViewEngine + <> c__DisplayClass1" 'hoặc tương tự. Nó là một lớp lồng nhau '<> c__DisplayClass1' bên trong kiểu' RazorViewEngine' trong không gian tên 'Nancy.ViewEngines.Razor'. Thay vì gọi 'ToString()' trình gỡ rối cố gắng viết lớp ngoài cùng theo dấu chấm (không phải dấu cộng) theo sau là tên lớp bên trong. Xem câu trả lời cập nhật của Damien. –