Exemple #1
0
 public void LoadContent(ContentManager contentManager)
 {
     var properties = this.GetType().GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly)
         .Where((propertyInfo) => {
             return propertyInfo.GetCustomAttribute<ContentAttribute>() != null;
         });
     foreach (var property in properties)
     {
         var attribute = property.GetCustomAttribute<ContentAttribute>();
         var genericMethod = contentManager.GetType().GetMethod("Load").MakeGenericMethod(property.PropertyType);
         property.SetValue(this, genericMethod.Invoke(contentManager, new object[] { attribute.ResourceName }));
     }
 }