public Dictionary<PropertyInfo, InjectAttribute> GetInjectedProperties()
{
lock (_lockObject)
{
if (_injectedProperties == null)
{
_injectedProperties = new Dictionary<PropertyInfo, InjectAttribute>();
var properties = Type.GetPropertiesEx();
foreach (var property in properties)
{
var injectAttribute = property.GetCustomAttributeEx(typeof(InjectAttribute), false) as InjectAttribute;
if (injectAttribute != null)
{
if (injectAttribute.Type == null)
{
injectAttribute.Type = property.PropertyType;
}
_injectedProperties.Add(property, injectAttribute);
}
}
}
}
return _injectedProperties;
}