.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

54 lines
1.5 KiB

// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
namespace ICSharpCode.SharpDevelop.Dom
{
public interface IMember : IEntity, ICloneable
{
/// <summary>
/// Declaration region of the member (without body!)
/// </summary>
DomRegion Region {
get;
}
/// <summary>
/// Gets/Sets the declaring type reference (declaring type incl. type arguments).
/// Never returns null.
/// If the property is set to null (e.g. when this is not a specialized member),
/// it should return the default type reference to the <see cref="DeclaringType"/>.
/// </summary>
IReturnType DeclaringTypeReference {
get;
set;
}
/// <summary>
/// Gets the generic member this member is based on.
/// Returns null if this is not a specialized member.
/// Specialized members are the result of overload resolution with type substitution.
/// </summary>
IMember GenericMember {
get;
}
/// <summary>
/// Creates a copy of this member with its GenericMember property set to this member.
/// Use this method to create copies of a member that should be regarded as the "same member"
/// for refactoring purposes.
/// </summary>
IMember CreateSpecializedMember();
IReturnType ReturnType {
get;
set;
}
IList<ExplicitInterfaceImplementation> InterfaceImplementations {
get;
}
}
}