public sealed class EffectAnnotationCollection : IEnumerable { // Fields private List pAnnotation; private unsafe ID3DXBaseEffect* pEffect; // Methods internal unsafe EffectAnnotationCollection(ID3DXBaseEffect* parent, sbyte modopt(IsSignUnspecifiedByte) modopt(IsConst)* parentHandle, int count); private IEnumerator GetBaseEnumerator(); public List.Enumerator GetEnumerator(); private IEnumerator GetGenericEnumerator(); internal unsafe void UpdateParent(ID3DXBaseEffect* parent, sbyte modopt(IsSignUnspecifiedByte) modopt(IsConst)* handle); // Properties public int Count { get; } public EffectAnnotation this[int index] { get; } public EffectAnnotation this[string name] { get; } }