Ok. Vì vậy, tôi có một số mã bản đồ điều khiển nhất định trên một winForm để tài sản nhất định trong một đối tượng, để làm những điều nhất định để kiểm soát khi những điều nhất định xảy ra với dữ liệu. Tất cả tốt và tốt, hoạt động tốt. Không phải vấn đề. Vấn đề là, để thêm các mục để lập bản đồ, tôi gọi một chức năng giống như:Trích xuất tên thuộc tính để phản ánh, với Intellisense và biên dịch thời gian kiểm tra
this.AddMapping(this.myControl,myObject,"myObjectPropertyName");
Vấn đề tôi gặp phải là nó là rất khó để nói, tại thời gian biên dịch, sự khác biệt giữa các dòng ở trên và dưới đây:
this.AddMapping(this.myControl,myObject,"myObjectPropretyName");
Kể từ khi tham số cuối cùng là một chuỗi, không có thời gian biên dịch kiểm tra hoặc bất cứ điều gì như thế đó sẽ thực thi rằng chuỗi bản thân thực sự tương ứng với một tên thuộc tính hợp lệ trên đối tượng nhất định. Ngoài ra, những thứ như Refactor và "Find All References" bỏ lỡ loại tham chiếu này, dẫn đến sự vui nhộn khi tên của bản thân tài sản thay đổi. Vì vậy, những gì tôi đang tự hỏi là có một số cách để thay đổi chức năng như vậy mà những gì tôi đang đi trong vẫn là một chuỗi đại diện cho tên tài sản trong một số cách, nhưng với thời gian biên dịch kiểm tra giá trị thực tế đi vào. có thể làm điều này với cây Expression, nhưng tôi đã đọc trên chúng và dường như không thấy kết nối. Tôi rất muốn làm điều gì đó như:
this.AddMapping(this.myControl,myObject,myObject.myObjectPropertyName);
hoặc thậm chí
this.AddMapping(this.myControl,myObject.myObjectPropertyName);
sẽ trở nên ngọt ngào!
Bất kỳ ý tưởng nào?
Mất 6 hoặc 7 lần truy cập trước khi tôi có thể phát hiện sự khác biệt trong hai dòng mã của bạn. – jjnguy
Chào mừng bạn đến địa ngục của tôi ... bây giờ tưởng tượng nó rải rác với từ viết tắt như CPCR, CPR, CLI, vv ... – GWLlosa
Trong thời gian dài nhất tôi đã mong muốn một số loại VS thêm vào đó sẽ phân tích tất cả các chuỗi trong mã và kiểm tra chính tả chúng. Nó cũng sẽ đưa vào tài khoản vỏ lạc đà, và chính tả kiểm tra từng từ riêng lẻ. Ai đó cần phải viết rằng sucker .... – BFree