- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
private CMSEntities entities = new CMSEntities();
private List<Object> ObjectSets { get; set; }
private List<Type> Types { get; set; }
public void GetFields()
{
Types = new List<Type>();
var entitiesType = entities.GetType();
var assembly = Assembly.Load("CMS.Data");
var types = assembly.GetTypes();
foreach (var type in assembly.GetTypes())
{
if (type.BaseType != null &&
type.BaseType.Name.Equals("EntityObject") &&
type.Name.IndexOf("aspnet",StringComparison.InvariantCultureIgnoreCase)<0 &&
type.Name != "sysdiagram")
{
Types.Add(type);
}
}
var properties = entitiesType.GetProperties();
ObjectSets = new List<Object>();
foreach (var propertyInfo in properties)
{
var obj = propertyInfo.GetValue(entities, null);
if(propertyInfo.PropertyType.IsGenericType && obj!=null) ObjectSets.Add(obj);
}
}
TauSigma 06.08.2014 17:43 # 0
Ведь проще через Reference добавить, не подписывать сертификатом и не менять версию.
И получим: старый, добрый, библиотечный адъ
Ну а до такого "изящьного" обхода ASP.NET Membership API с магическими строками - не всякий проктолог додумается.
А, да, и ещё одно, нафига this.Types и this.ObjectSets инициализировать в одном методе возвращающий(?) properties(?) поля? 0_o
Девид Блейн даже потеряется...
kegdan 06.08.2014 22:54 # 0
TauSigma 06.08.2014 22:57 # 0
Там-же целый AOP (http://en.wikipedia.org/wiki/Aspect-oriented_programming)
kegdan 06.08.2014 23:00 # 0
max_wp 25.08.2021 06:26 # 0