Giả sử tôi có một lớp cha và lớp con:Lấy tên của lớp khai báo?
public abstract class Parent
{
public string GetParentName()
{
return GetType().Name;
}
}
public class Child : Parent
{
public string GetChildName()
{
return GetType().Name;
}
}
Tính đến hiện tại, cả hai GetParentName() và GetChildName() sẽ trở lại Child.
Tuy nhiên, trong trường hợp của tôi, tôi muốn lấy tên của lớp mà phương thức được khai báo.
Như vậy GetChildName() nên trở Child nhưng GetParentName() nên trở Chánh.
Điều này có bằng bất kỳ phương tiện nào có thể không?
LƯU Ý:.
Tôi hiểu rằng tôi có thể sử dụng GetType() BaseType.Name nhưng này sẽ không làm việc kể từ khi hệ thống phân cấp có thể là phức tạp.
'Tôi muốn có được tên của lớp, trong đó phương pháp này là declared' tôi có nghĩa là họ là hai phương pháp khác nhau, 'GetChildName' * được * khai báo trong con – Jonesopolis
Có thể trùng lặp của [Làm thế nào để có được tên phương thức gọi và gõ sử dụng sự phản chiếu?] (http://stackoverflow.com/questions/3095696/how-do-i-get-the-calling- phương pháp-tên-và-loại-sử dụng-phản ánh) – MethodMan
Bạn chỉ có thể trả về "Phụ huynh". Cung cấp cho chúng tôi một ví dụ mà trả về một chuỗi xả rác không phù hợp. – Winter