示例#1
0
 public ILRuntimePropertyInfo(Mono.Cecil.PropertyDefinition definition, ILType dType)
 {
     this.definition = definition;
     this.dType      = dType;
     appdomain       = dType.AppDomain;
 }
示例#2
0
		protected Exception CreateException (int code, Exception innerException, TProperty property, string message, params object[] args)
		{
			if (property == null)
				return CreateException (code, innerException, (TMethod) null, message, args);
			var getter = GetGetMethod (property);
			if (getter != null)
				return CreateException (code, innerException, getter, message, args);
			return CreateException (code, innerException, GetSetMethod (property), message, args);
		}
示例#3
0
 public PropertyRecord(string name, Mono.Cecil.PropertyDefinition pd, ClassRecord activity)
 {
     Name     = name;
     Type     = pd.PropertyType.FullName;
     Activity = activity;
 }
示例#4
0
		protected abstract TType GetPropertyType (TProperty property);
示例#5
0
		protected Exception CreateException (int code, TProperty property, string message, params object[] args)
		{
			return CreateException (code, null, property, message, args);
		}
示例#6
0
		protected abstract CategoryAttribute GetCategoryAttribute (TType type); // Return null if no attribute is found. Do not consider base types.
		protected abstract ConnectAttribute GetConnectAttribute (TProperty property); // Return null if no attribute is found. Do not consider inherited properties.
示例#7
0
		protected abstract string GetPropertyName (TProperty property);
示例#8
0
		protected abstract ExportAttribute GetExportAttribute (TProperty property); // Return null if no attribute is found. Must check the base property (i.e. if property is overriding a property in a base class, must check the overridden property for the attribute).
示例#9
0
		protected abstract bool IsStatic (TProperty property);
示例#10
0
		protected abstract TMethod GetSetMethod (TProperty property);
示例#11
0
 private PropertyRecord AddProperty(Mono.Cecil.PropertyDefinition pd)
 {
     return(AddProperty(pd.Name, pd));
 }
示例#12
0
 private bool IsInheritedProperty(Mono.Cecil.PropertyDefinition pd)
 {
     return(IsActivityProperty(pd) &&
            !(pd.GetMethod.IsVirtual && properties.TryGetValue(pd.Name, out PropertyRecord pr)));
 }