Nếu tôi có một thể hiện của một đối tượng, làm thế nào để kiểm tra xem nó có được đọc không?Kiểm tra xem một thể hiện của một đối tượng là chỉ đọc
tôi đã lùng sục qua System.Type và rằng rất nhiều IsXxxx()
và GetXxxx()
loại chức năng nhưng không có IsReadOnly()
, IsWriteable()
, GetReadWriteProperty()
, hoặc bất cứ điều gì dọc theo những đường. Tôi đoán một cái gì đó như myObj.GetType().IsReadOnly()
sẽ là quá dễ dàng, và lớp Object không có gì hữu ích trong nó ngoài GetType().
Khi tôi google câu hỏi này, tất cả những gì tôi nhận được là cách sử dụng từ khóa chỉ đọc. Tôi nghĩ đến việc sử dụng Reflection và GetProperty() nhưng đây là một lớp cơ sở tồn tại trong một List <>, tôi sẽ cần thể hiện của đối tượng này là một thuộc tính đơn độc trong một đối tượng khác để tôi làm điều này. Tôi sẽ làm như vậy. suy nghĩ.
Bất kỳ ý tưởng nào?
Guess Tôi cần phải tinh chỉnh thuật ngữ tìm kiếm của tôi tốt hơn thời gian tiếp theo, tôi tin rằng câu hỏi này có thể một bản sao của: http://stackoverflow.com/questions/481883/how-do-i-check-if-a-class-is-readonly-in-c –
Bạn có thể cung cấp ví dụ về một đối tượng mà bạn cân nhắc được chỉ đọc? Ở cấp độ đối tượng, không có khái niệm nào được xác định. Các trường có thể hoặc không thể đọc được, và các thuộc tính có thể hoặc không có bộ công khai, và nó có thể hoặc không được đánh dấu '[ImmutableObject (true)]' - nhưng ... ít nhất 2 trong số đó * không thực sự làm cho nó không thay đổi * và thứ ba (các trường) không bắt buộc hoặc quá phổ biến (vì các trường sẽ là riêng tư) –
@Marc Gravell: PropertyInfo cho một kiểu cho một CanRead và CanWrite, tôi đang tìm cách để có được những người trên bất kỳ đối tượng nhất định nào. –