Mono.CSharp.TypeContainer.AddField C# (CSharp) Method

AddField() public method

public AddField ( FieldBase field ) : bool
field FieldBase
return bool
		public bool AddField (FieldBase field)
		{
			if (!AddMember (field))
				return false;

			if (fields == null)
				fields = new List<FieldBase> ();

			fields.Add (field);

			if ((field.ModFlags & Modifiers.STATIC) != 0)
				return true;

			if (first_nonstatic_field == null) {
				first_nonstatic_field = field;
				return true;
			}

			if (Kind == MemberKind.Struct && first_nonstatic_field.Parent != field.Parent) {
				Report.SymbolRelatedToPreviousError (first_nonstatic_field.Parent);
				Report.Warning (282, 3, field.Location,
					"struct instance field `{0}' found in different declaration from instance field `{1}'",
					field.GetSignatureForError (), first_nonstatic_field.GetSignatureForError ());
			}
			return true;
		}

Usage Example

Example #1
0
        static Field CreateSiteField(FullNamedExpression type)
        {
            TypeContainer site_container = CreateSiteContainer();
            Field         f = new Field(site_container, type, Modifiers.PUBLIC | Modifiers.STATIC,
                                        new MemberName("Site" + field_counter++), null);

            f.Define();

            site_container.AddField(f);
            return(f);
        }
All Usage Examples Of Mono.CSharp.TypeContainer::AddField