本文整理汇总了C#中Mono.CSharp.InterfaceMemberBase类的典型用法代码示例。如果您正苦于以下问题:C# InterfaceMemberBase类的具体用法?C# InterfaceMemberBase怎么用?C# InterfaceMemberBase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
InterfaceMemberBase类属于Mono.CSharp命名空间,在下文中一共展示了InterfaceMemberBase类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VerifyImplements
/// <summary>
/// Performs checks for an explicit interface implementation. First it
/// checks whether the `interface_type' is a base inteface implementation.
/// Then it checks whether `name' exists in the interface type.
/// </summary>
public bool VerifyImplements (InterfaceMemberBase mb)
{
var ifaces = spec.Interfaces;
if (ifaces != null) {
foreach (TypeSpec t in ifaces){
if (t == mb.InterfaceType)
return true;
}
}
Report.SymbolRelatedToPreviousError (mb.InterfaceType);
Report.Error (540, mb.Location, "`{0}': containing type does not implement interface `{1}'",
mb.GetSignatureForError (), mb.InterfaceType.GetSignatureForError ());
return false;
}
示例2: VerifyImplements
/// <summary>
/// Performs checks for an explicit interface implementation. First it
/// checks whether the `interface_type' is a base inteface implementation.
/// Then it checks whether `name' exists in the interface type.
/// </summary>
public bool VerifyImplements (InterfaceMemberBase mb)
{
var ifaces = PartialContainer.Interfaces;
if (ifaces != null) {
foreach (TypeSpec t in ifaces){
if (t == mb.InterfaceType || t == null)
return true;
var expanded_base = t.Interfaces;
if (expanded_base == null)
continue;
foreach (var bt in expanded_base) {
if (bt == mb.InterfaceType)
return true;
}
}
}
Report.SymbolRelatedToPreviousError (mb.InterfaceType);
Report.Error (540, mb.Location, "`{0}': containing type does not implement interface `{1}'",
mb.GetSignatureForError (), mb.InterfaceType.GetSignatureForError ());
return false;
}
示例3: AddMemberToList
private void AddMemberToList (InterfaceMemberBase mc, List<MemberCore> alist)
{
if (ordered_explicit_member_list == null) {
ordered_explicit_member_list = new List<MemberCore> ();
ordered_member_list = new List<MemberCore> ();
}
if (mc.IsExplicitImpl) {
if (Kind == MemberKind.Interface) {
Report.Error (541, mc.Location,
"`{0}': explicit interface declaration can only be declared in a class or struct",
mc.GetSignatureForError ());
}
ordered_explicit_member_list.Add (mc);
alist.Insert (0, mc);
} else {
ordered_member_list.Add (mc);
alist.Add (mc);
}
}
示例4: SetupName
static MemberName SetupName (string prefix, InterfaceMemberBase member, Location loc)
{
return new MemberName (member.MemberName.Left, prefix + member.ShortName, member.MemberName.ExplicitInterface, loc);
}
示例5: UpdateName
public void UpdateName (InterfaceMemberBase member)
{
SetMemberName (SetupName (prefix, member, Location));
}
示例6: MethodData
public MethodData (InterfaceMemberBase member,
Modifiers modifiers, MethodAttributes flags,
IMethodData method,
MethodSpec parent_method)
: this (member, modifiers, flags, method)
{
this.parent_method = parent_method;
}
示例7: AbstractPropertyEventMethod
public AbstractPropertyEventMethod (InterfaceMemberBase member, string prefix, Attributes attrs, Location loc)
: base (member.Parent, SetupName (prefix, member, loc), attrs)
{
this.prefix = prefix;
}
示例8: AddExplicitInterfaces
void AddExplicitInterfaces (MonoDevelop.Projects.Dom.AbstractMember member, InterfaceMemberBase mcsMember)
{
if (!mcsMember.IsExplicitImpl)
return;
member.AddExplicitInterface (ConvertReturnType (mcsMember.MemberName.Left));
}
示例9: CheckAccessibility
public override bool CheckAccessibility (InterfaceMemberBase member)
{
return true;
}
示例10: MethodData
public MethodData (InterfaceMemberBase member,
Modifiers modifiers, MethodAttributes flags,
IMethodData method, MethodBuilder builder,
GenericMethod generic, MethodSpec parent_method)
: this (member, modifiers, flags, method)
{
this.builder = builder;
this.GenericMethod = generic;
this.parent_method = parent_method;
}
示例11: AddGenericMember
public void AddGenericMember (MemberInfo mi, InterfaceMemberBase mc)
{
AddMember (mi.MemberType, GetBindingFlags (mc.ModFlags), Container,
MemberName.MakeName (mc.GetFullName (mc.MemberName), mc.MemberName.TypeArguments), mi);
}
示例12: AbstractPropertyEventMethod
public AbstractPropertyEventMethod(InterfaceMemberBase member, Accessor accessor,
string prefix)
: base(member.Parent, SetupName (prefix, member, accessor.Location),
accessor.Attributes)
{
this.prefix = prefix;
this.block = accessor.Block;
}
示例13: CheckAccessibility
public virtual bool CheckAccessibility (InterfaceMemberBase member)
{
if (parameter_type == null || TypeManager.IsGenericParameter (parameter_type))
return true;
return member.IsAccessibleAs (parameter_type);
}
示例14: VerifyImplements
/// <summary>
/// Performs checks for an explicit interface implementation. First it
/// checks whether the `interface_type' is a base inteface implementation.
/// Then it checks whether `name' exists in the interface type.
/// </summary>
public bool VerifyImplements (InterfaceMemberBase mb)
{
if (ifaces != null) {
foreach (Type t in ifaces){
if (TypeManager.IsEqual (t, mb.InterfaceType))
return true;
}
}
Report.SymbolRelatedToPreviousError (mb.InterfaceType);
Report.Error (540, mb.Location, "`{0}': containing type does not implement interface `{1}'",
mb.GetSignatureForError (), TypeManager.CSharpName (mb.InterfaceType));
return false;
}