I have the following setup in my model:
namespace QuickTest.Models
{
public class Person
{
[Required]
[Display(Name = \"Full name\")]
Have you considered creating your own EditorTemplate for Person, Sender and Receiver? The EditorFor and DisplayFor look for a custom template that match the type of the object.
The internal method will look for a template that matches the type of the object. It will then look for a template that matches the base class and then on up the chain of inheritance.