JD2022-TU1/main/tools/framework/JD.Reflection/Attributes/ImportAttribute.cs

38 lines
860 B
C#

using System;
namespace JD.Reflection.Attributes
{
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = false)]
public class ImportAttribute : Attribute, IImportAttribute
{
#region Constructor
public ImportAttribute()
: this(null)
{
}
public ImportAttribute(string contractName)
{
ContractName = contractName;
}
#endregion
#region Properties
public string ContractName { get; private set; }
public bool AllowDefault { get; set; }
ImportCardinality IImportAttribute.Cardinality
{
get
{
return AllowDefault ? ImportCardinality.ZeroOrOne : ImportCardinality.ExactlyOne;
}
}
#endregion
}
}