Mono.CSharp.PropertyBase.CheckMissingAccessor C# (CSharp) Method

CheckMissingAccessor() static private method

static private CheckMissingAccessor ( MemberKind kind, ParametersCompiled parameters, bool get ) : void
kind MemberKind
parameters ParametersCompiled
get bool
return void
        void CheckMissingAccessor(MemberKind kind, ParametersCompiled parameters, bool get)
        {
            if (IsExplicitImpl) {
                MemberFilter filter;
                if (kind == MemberKind.Indexer)
                    filter = new MemberFilter (MemberCache.IndexerNameAlias, 0, kind, parameters, null);
                else
                    filter = new MemberFilter (MemberName.Name, 0, kind, null, null);

                var implementing = MemberCache.FindMember (InterfaceType, filter, BindingRestriction.DeclaredOnly) as PropertySpec;

                if (implementing == null)
                    return;

                var accessor = get ? implementing.Get : implementing.Set;
                if (accessor != null) {
                    Report.SymbolRelatedToPreviousError (accessor);
                    Report.Error (551, Location, "Explicit interface implementation `{0}' is missing accessor `{1}'",
                        GetSignatureForError (), accessor.GetSignatureForError ());
                }
            }
        }