Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
ModuleDependencyAttribute.cs
1using System;
2
4{
8 [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
9 public class ModuleDependencyAttribute : Attribute
10 {
11 private readonly string moduleTypeName;
12
17 public ModuleDependencyAttribute(string ModuleTypeName)
18 {
19 this.moduleTypeName = ModuleTypeName;
20 }
21
26 public ModuleDependencyAttribute(Type ModuleType)
27 : this(ModuleType.FullName)
28 {
29 }
30
36 : this(Module.GetType())
37 {
38 }
39
43 public string ModeTypeName => this.ModeTypeName;
44
50 public bool DependsOn(IModule Module)
51 {
52 return this.DependsOn(Module.GetType());
53 }
54
60 public bool DependsOn(Type ModuleType)
61 {
62 return this.moduleTypeName == ModuleType.FullName;
63 }
64 }
65}
Defines a module dependency for a module class. Modules are started after a dependency,...
ModuleDependencyAttribute(Type ModuleType)
Defines a module dependency for a module class. Modules are started after a dependency,...
bool DependsOn(Type ModuleType)
Checks if there is a dependency on a given module.
ModuleDependencyAttribute(IModule Module)
Defines a module dependency for a module class. Modules are started after a dependency,...
ModuleDependencyAttribute(string ModuleTypeName)
Defines a module dependency for a module class. Modules are started after a dependency,...
bool DependsOn(IModule Module)
Checks if there is a dependency on a given module.
Interface for late-bound modules loaded at runtime.
Definition: IModule.cs:9