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.
27 lines
833 B
27 lines
833 B
using System.Diagnostics.CodeAnalysis; |
|
|
|
namespace StabilityMatrix.Core.Attributes; |
|
|
|
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] |
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)] |
|
public class SingletonAttribute : Attribute |
|
{ |
|
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] |
|
public Type? InterfaceType { get; init; } |
|
|
|
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors)] |
|
public Type? ImplType { get; init; } |
|
|
|
public SingletonAttribute() { } |
|
|
|
public SingletonAttribute(Type interfaceType) |
|
{ |
|
InterfaceType = interfaceType; |
|
} |
|
|
|
public SingletonAttribute(Type interfaceType, Type implType) |
|
{ |
|
InterfaceType = implType; |
|
ImplType = implType; |
|
} |
|
}
|
|
|