Tôi đã viết một phương pháp để có được Thuộc tính Giá trị Bằng tài sản:Làm thế nào được Thuộc tính giá trị trong CodeAttribute
public string GetAttributeValueByNameAttributeAndProperty(CodeClass cc, string nameAttribute, string nameProperty)
{
var value = "";
foreach(CodeAttribute ca in cc.Attributes)
{
if(ca.Name.Contains(nameAttribute) && ca.Value.Contains(nameProperty))
{
value = ca.Value.Remove(0,ca.Value.IndexOf(nameProperty));
value = value.Replace(" ","");
if(value.Contains(","))
value = value.Remove(ca.Value.IndexOf(","));
}
}
return value;
}
Ví dụ: Tôi có thuộc tính [Map(Name = "MenuItem, Availability")]
tôi gọi GetAttributeValueByNameAttributeAndProperty (codeclass, "Bản đồ" , "Tên") Sau khi phương thức đó nhận được CodeAttribute.Value và trả về chuỗi: Name = "MenuItem, Availability" Sau khi tôi xóa "Name =" và các ký tự thừa và Split by ","
Nhưng lập trình viên cao cấp của tôi nói với tôi rằng phương pháp này là không linh hoạt và tôi cần tìm một cách thuận tiện hơn để lấy dữ liệu bên trong trong CodeAttribute.Value.
Bạn có ý tưởng/ví dụ nào không?
Tôi đã chỉnh sửa tiêu đề của bạn. Vui lòng xem, "[Câu hỏi có nên bao gồm" thẻ "trong tiêu đề của họ không?] (Http://meta.stackexchange.com/questions/19190/)", trong đó sự đồng thuận là "không, họ không nên". –
Cảm ơn. Tôi sẽ đưa nó vào tài khoản –
Tôi đã tìm kiếm một cách để đọc các giá trị thuộc tính bằng cách sử dụng mô hình mã. Sau đó, tôi đến câu hỏi của bạn và vì nó không có câu trả lời nên tôi đã đăng một câu hỏi. Tôi biết câu hỏi là khá cũ và có lẽ bạn không cần câu trả lời nữa, nhưng độc giả trong tương lai có thể thấy nó hữu ích :) –