Yes, ContentType has FieldRefs for all the fields (Well, not inherited ones). However I read that when defining contet types in schema.xml, you must explicitly define Field`s also (that's weird), however if you add ContentType programmatically, then it correctly adds CType fields to definition.
By the way, what you see is what VSeWSS (microsoft extension for VS) tool generated (all the references).
Quite from SharePoint blog:
What you need to do is to add the
exact same elements to the
element as in the content
type, including the same ID. This is a
little strange, but in fact you need
to define the fields twice, both in
the content type and in the schema.xml
to make this work. You can skip the
Group and a few other properties.
However if I won't use Fields, I`ll get an exception:
[COMException (0x80004005): Nevar pabeigt šo darbību.
Lūdzu, mēģiniet vēlreiz.]
Microsoft.SharePoint.Library.SPRequestInternalClass.GetViewsSchemaXml(String bstrUrl, String bstrListName, Boolean bFullBlown, ISP2DSafeArrayWriter p2DWriter, Int32& plDefaultViewIndex) +0
Microsoft.SharePoint.Library.SPRequest.GetViewsSchemaXml(String bstrUrl, String bstrListName, Boolean bFullBlown, ISP2DSafeArrayWriter p2DWriter, Int32& plDefaultViewIndex) +122
Oh, well, anyway, I read somwhere an article (can't find that article no more)that suggest adding content type with feature receivers, then it properly shows up fields in forms.
Another option is to use a single authorize filter as you posted but remove the inner quotations.
[Authorize(Roles="members,admin")]
Best Answer
Here is some code I have used to do set the content types for a list.
Not exactly the same as your problem, but I hope it helps.