public IEntity GetDefaultMember()
{
IType defaultMemberAttribute = _typeSystemServices.Map(typeof(DefaultMemberAttribute));
foreach (Attribute attribute in _typeDefinition.Attributes)
{
IConstructor tag = TypeSystemServices.GetEntity(attribute) as IConstructor;
if (null != tag)
{
if (defaultMemberAttribute == tag.DeclaringType)
{
StringLiteralExpression memberName = attribute.Arguments[0] as StringLiteralExpression;
if (null != memberName)
{
List buffer = new List();
Resolve(buffer, memberName.Value, EntityType.Any);
return(NameResolutionService.GetEntityFromList(buffer));
}
}
}
}
if (null != BaseType)
{
return(BaseType.GetDefaultMember());
}
return(null);
}