Tôi muốn có khả năng tạo ra các giá trị trả về khác nhau tương tự như cách kiểu LINQPad NULL như văn bản màu xanh lá cây nghiêng. Cụ thể, tôi muốn tạo kiểu Boolean TRUE và FALSE khác với màu xanh và đỏ.Trong LINQPad, kết quả có kiểu dáng đặc biệt cho NULL. Làm cách nào để áp dụng giá trị boolean hoặc các giá trị khác?
6
A
Trả lời
8
Không thể thực hiện việc này thông qua trình chỉnh sửa biểu định kiểu được tích hợp sẵn. Tuy nhiên bạn có thể viết một phương pháp mở rộng mà bạn gọi như sau:
void Main()
{
// AdventureWorks
Contacts.Select (c => new { c.FirstName, c.LastName, NameStyle = c.NameStyle.RedBlue() }).Dump();
}
static class Extensions
{
public static object RedBlue (this bool value)
{
string c = value ? "Blue" : "Red";
return Util.RawHtml ("<span style='color:" + c + "'>" + value + "</span>");
}
}
Nếu bạn đặt các phương pháp khuyến nông thành một dự án VS và sao chép các DLL vào LINQPad plugins thư mục, nó sẽ tự động có sẵn cho tất cả các truy vấn.
EDIT: Bây giờ bạn có thể xác định phương thức đó trong truy vấn 'Tiện ích mở rộng của tôi' thay vì phải tạo dự án trong VS.
3
tôi có thành công với khối mã này trong MyExtensions phác thảo:
void Main()
{
(!(true.Dump())).Dump();
}
public static class MyExtensions
{
public static bool Dump (this bool value)
{
string c = value ? "Blue" : "Red";
Util.RawHtml ("<span style='color:" + c + "'>" + value + "</span>").Dump();
return value;
}
}
Các vấn đề liên quan
- 1. Là hoặc Có để tiền tố các giá trị boolean
- 2. Đặc điểm kiểu tiêu chuẩn cho giá trị sizeof (T)
- 3. Char hoặc Int cho giá trị boolean trong C?
- 4. Áp dụng nhiều chức năng cho cùng một kiểu điểm không có giá trị trong Haskell
- 5. Làm cách nào để thêm giá trị boolean vào NSDictionary?
- 6. Cách xóa giá trị null khỏi giá trị ValueListBox
- 7. Sử dụng tìm và null trong khi HOẶC các giá trị khác
- 8. Làm cách nào để chọn các giá trị khác biệt từ một cột trong bảng?
- 9. Chọn giá trị cột nếu không null khác sử dụng giá trị cột khác
- 10. Đọc các giá trị boolean từ DB?
- 11. giá trị nào null thực sự có?
- 12. if (giá trị == null) vs nếu (null == giá trị)
- 13. Đếm các giá trị Null trong MYSQL
- 14. Làm thế nào để gán giá trị Null cho biến kiểu không Nullable trong C#?
- 15. Mục tiêu c các giá trị boolean
- 16. Cách tạo giá trị boolean?
- 17. Giá trị CSS đặc biệt *, \ 0/
- 18. Làm cách nào để lấy giá trị int thay vì giá trị boolean từ cột TINYINT (1)?
- 19. Làm thế nào để in giá trị boolean trong Go?
- 20. Áp dụng kiểu dựa trên giá trị thuộc tính
- 21. Jackson serialization: bỏ qua các giá trị rỗng (hoặc null)
- 22. cách sử dụng DataTable.Select() để chọn giá trị Null/empty?
- 23. Lưu trữ giá trị Boolean trong SQL?
- 24. Sự khác biệt giữa giá trị và giá trị mục
- 25. Làm thế nào để thiết lập giá trị Boolean để một 'Có' hoặc 'Không' h: selectOneRadio
- 26. Cách tính các giá trị khác biệt trong một nút?
- 27. Khi truy cập ResultSets trong JDBC, có cách nào thanh lịch để phân biệt giữa giá trị null và giá trị 0 không?
- 28. Làm thế nào để HOẶC giá trị null trong truy vấn Apache Solr?
- 29. Giá trị JSON 1 hoặc 0 - int hoặc boolean
- 30. Làm cách nào để bạn áp dụng 'hoặc' cho tất cả các giá trị của một danh sách bằng Python?
Các phần mở rộng lớp công việc tuyệt vời trong LINQPad khi tôi thêm nó vào truy vấn của tôi, nhưng biên dịch nó thành một DLL riêng biệt không hoạt động. LINQPad đang nói rằng nó không có định nghĩa cho phần mở rộng. Có lẽ có điều gì đó tôi đã bỏ lỡ khi tạo một lớp học trong VS. Tôi không muốn mất thời gian của bạn về điều này vì tôi có thể chờ đợi bản phát hành cuối cùng với plugin được nạp vào. – MADCookie
Tôi đoán bạn đã kiểm tra những điều hiển nhiên ... lớp đó là công khai và không gian tên được nhập (hoặc dễ dàng hơn , bạn có thể định nghĩa nó là không gian tên cấp cao nhất). Bạn đang tham khảo DLL bằng tay từ LINQPad hoặc thả nó vào thư mục plugins? –
Cảm ơn bạn đã kiểm tra rõ ràng! Tôi chỉ không đặt lớp công khai !! Rất tiếc. Cảm ơn sự giúp đỡ của bạn và mẹo tuyệt vời này để tăng cường đầu ra. – MADCookie