Bamboo.Prevalence.VersionMigration.MigrationContext.GetSerializableFields C# (CSharp) Метод

GetSerializableFields() публичный Метод

public GetSerializableFields ( Type type ) : System.Reflection.FieldInfo[]
type System.Type
Результат System.Reflection.FieldInfo[]
		public FieldInfo[] GetSerializableFields(Type type)
		{
			FieldInfo[] fields = (FieldInfo[])_serializableFieldsCache[type];
			if (null == fields)
			{
				fields = BuildSerializableFieldsArray(type);
				_serializableFieldsCache[type] = fields;
			}
			return fields;
		}

Usage Example

		public virtual void InitializeObject(MigrationContext context)
		{
			Type type = context.CurrentObject.GetType();
			TypeMapping mapping = context.GetTypeMapping(type);
			if (null == mapping)
			{
				mapping = TypeMapping.Default;
			}

			FieldInfo[] fields = context.GetSerializableFields(type);
			foreach (FieldInfo field in fields)
			{								
				context.EnterField(field);

				IFieldInitializer initializer = mapping.GetFieldInitializer(field.Name);
				initializer.InitializeField(context);

				context.LeaveField();
			}
		}