public DotnetBaseClassFieldExtractor(Class clazz, string fieldName) : base(null, null) { Type type = null; foreach (Assembly assem in AppDomain.CurrentDomain.GetAssemblies()) { type = assem.GetType(clazz.getName().Replace("cli.", "")); if(type != null) break; } this.fieldName = fieldName; FieldInfo[] info = type.GetFields(); string fieldType = type.GetProperty(fieldName).PropertyType.FullName; //string originalClassName = clazz.getName().Replace('.', '/'); //string className = CSClassFieldExtractorFactory.BASE_PACKAGE + "/" + originalClassName + "$" + fieldName; try { //this.index = getIndex(type, fieldName); this.index = FieldIndexGenerator.getIndex(); this.fieldType = type.GetProperty(fieldName).PropertyType; this.objectType = DotnetClassFieldExtractorFactory.getClassObjectType( this.fieldType ); } catch ( System.Exception e ) { throw new RuntimeDroolsException( e ); } }
public DotnetBaseClassFieldExtractor(Class clazz, string fieldName) : base(null, null) { Type type = null; foreach (Assembly assem in AppDomain.CurrentDomain.GetAssemblies()) { type = assem.GetType(clazz.getName().Replace("cli.", "")); if (type != null) { break; } } this.fieldName = fieldName; FieldInfo[] info = type.GetFields(); string fieldType = type.GetProperty(fieldName).PropertyType.FullName; //string originalClassName = clazz.getName().Replace('.', '/'); //string className = CSClassFieldExtractorFactory.BASE_PACKAGE + "/" + originalClassName + "$" + fieldName; try { //this.index = getIndex(type, fieldName); this.index = FieldIndexGenerator.getIndex(); this.fieldType = type.GetProperty(fieldName).PropertyType; this.objectType = DotnetClassFieldExtractorFactory.getClassObjectType(this.fieldType); } catch (System.Exception e) { throw new RuntimeDroolsException(e); } }