Tôi đang viết một phương pháp Clone sử dụng sự phản chiếu. Làm thế nào để phát hiện ra một thuộc tính là một thuộc tính được lập chỉ mục sử dụng sự phản chiếu? Ví dụ:C# Reflection Indexed Properties
public string[] Items
{
get;
set;
}
Phương pháp của tôi cho đến nay:
public static T Clone<T>(T from, List<string> propertiesToIgnore) where T : new()
{
T to = new T();
Type myType = from.GetType();
PropertyInfo[] myProperties = myType.GetProperties();
for (int i = 0; i < myProperties.Length; i++)
{
if (myProperties[i].CanWrite && !propertiesToIgnore.Contains(myProperties[i].Name))
{
myProperties[i].SetValue(to,myProperties[i].GetValue(from,null),null);
}
}
return to;
}
Đó không phải là một tài sản được lập chỉ mục, đó là một tài sản mà trả về một mảng. –
Câu hỏi này cần được thay đổi bởi người kiểm duyệt. Đây là kết quả google hàng đầu cho việc tìm kiếm một thuộc tính indexer nhưng đó không phải là ví dụ mã minh họa. Một nửa câu trả lời dưới đây trả lời câu hỏi và một nửa ví dụ về mã. –