95fdb59ea6
Former-commit-id: b39a328747c2f3414dc52e009fb6f0aa80ca2492
50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
using Mono.Cecil;
|
|
using Mono.Collections.Generic;
|
|
|
|
namespace Mono.Documentation.Util
|
|
{
|
|
public class AttachedPropertyDefinition : AttachedPropertyReference, IMemberDefinition
|
|
{
|
|
private readonly FieldDefinition fieldDefinition;
|
|
|
|
public AttachedPropertyDefinition(FieldDefinition fieldDefinition, MetadataToken metadataToken) : base(fieldDefinition)
|
|
{
|
|
this.fieldDefinition = fieldDefinition;
|
|
MetadataToken = metadataToken;
|
|
}
|
|
|
|
public MemberReference GetMethod
|
|
{
|
|
get => this.DeclaringType.GetMember(
|
|
$"Get{AttachedEntitiesHelper.GetPropertyName(fieldDefinition.Name)}",
|
|
m => (m as MethodReference)?.Parameters.Count == 1);
|
|
}
|
|
public MemberReference SetMethod
|
|
{
|
|
get => this.DeclaringType.GetMember(
|
|
$"Set{AttachedEntitiesHelper.GetPropertyName(fieldDefinition.Name)}",
|
|
m => (m as MethodReference)?.Parameters.Count == 2);
|
|
}
|
|
|
|
public Collection<CustomAttribute> CustomAttributes => fieldDefinition.CustomAttributes;
|
|
public bool HasCustomAttributes => fieldDefinition.HasCustomAttributes;
|
|
|
|
public bool IsSpecialName
|
|
{
|
|
get { return fieldDefinition.IsSpecialName; }
|
|
set { fieldDefinition.IsSpecialName = value; }
|
|
}
|
|
|
|
public bool IsRuntimeSpecialName
|
|
{
|
|
get { return fieldDefinition.IsRuntimeSpecialName; }
|
|
set { fieldDefinition.IsRuntimeSpecialName = value; }
|
|
}
|
|
|
|
public new TypeDefinition DeclaringType
|
|
{
|
|
get { return fieldDefinition.DeclaringType; }
|
|
set { fieldDefinition.DeclaringType = value; }
|
|
}
|
|
}
|
|
} |