PageRenderTime 49ms CodeModel.GetById 5ms RepoModel.GetById 0ms app.codeStats 0ms

/V4/PrismLibrary/Desktop/Prism/Modularity/ModuleConfigurationElement.Desktop.cs

#
C# | 104 lines | 48 code | 7 blank | 49 comment | 0 complexity | 6cd08cef3350a502619ea2da6f65a0ca MD5 | raw file
  1. //===================================================================================
  2. // Microsoft patterns & practices
  3. // Composite Application Guidance for Windows Presentation Foundation and Silverlight
  4. //===================================================================================
  5. // Copyright (c) Microsoft Corporation. All rights reserved.
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
  7. // OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
  8. // LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  9. // FITNESS FOR A PARTICULAR PURPOSE.
  10. //===================================================================================
  11. // The example companies, organizations, products, domain names,
  12. // e-mail addresses, logos, people, places, and events depicted
  13. // herein are fictitious. No association with any real company,
  14. // organization, product, domain name, email address, logo, person,
  15. // places, or events is intended or should be inferred.
  16. //===================================================================================
  17. using System.Configuration;
  18. namespace Microsoft.Practices.Prism.Modularity
  19. {
  20. /// <summary>
  21. /// A configuration element to declare module metadata.
  22. /// </summary>
  23. public class ModuleConfigurationElement : ConfigurationElement
  24. {
  25. /// <summary>
  26. /// Initializes a new instance of <see cref="ModuleConfigurationElement"/>.
  27. /// </summary>
  28. public ModuleConfigurationElement()
  29. {
  30. }
  31. /// <summary>
  32. /// Initializes a new instance of <see cref="ModuleConfigurationElement"/>.
  33. /// </summary>
  34. /// <param name="assemblyFile">The assembly file where the module is located.</param>
  35. /// <param name="moduleType">The type of the module.</param>
  36. /// <param name="moduleName">The name of the module.</param>
  37. /// <param name="startupLoaded">This attribute specifies whether the module is loaded at startup.</param>
  38. public ModuleConfigurationElement(string assemblyFile, string moduleType, string moduleName, bool startupLoaded)
  39. {
  40. base["assemblyFile"] = assemblyFile;
  41. base["moduleType"] = moduleType;
  42. base["moduleName"] = moduleName;
  43. base["startupLoaded"] = startupLoaded;
  44. }
  45. /// <summary>
  46. /// Gets or sets the assembly file.
  47. /// </summary>
  48. /// <value>The assembly file.</value>
  49. [ConfigurationProperty("assemblyFile", IsRequired = true)]
  50. public string AssemblyFile
  51. {
  52. get { return (string)base["assemblyFile"]; }
  53. set { base["assemblyFile"] = value; }
  54. }
  55. /// <summary>
  56. /// Gets or sets the module type.
  57. /// </summary>
  58. /// <value>The module's type.</value>
  59. [ConfigurationProperty("moduleType", IsRequired = true)]
  60. public string ModuleType
  61. {
  62. get { return (string)base["moduleType"]; }
  63. set { base["moduleType"] = value; }
  64. }
  65. /// <summary>
  66. /// Gets or sets the module name.
  67. /// </summary>
  68. /// <value>The module's name.</value>
  69. [ConfigurationProperty("moduleName", IsRequired = true)]
  70. public string ModuleName
  71. {
  72. get { return (string)base["moduleName"]; }
  73. set { base["moduleName"] = value; }
  74. }
  75. /// <summary>
  76. /// Gets or sets a value indicating whether the module should be loaded at startup.
  77. /// </summary>
  78. /// <value>A value indicating whether the module should be loaded at startup.</value>
  79. [ConfigurationProperty("startupLoaded", IsRequired = false, DefaultValue = true)]
  80. public bool StartupLoaded
  81. {
  82. get { return (bool)base["startupLoaded"]; }
  83. set { base["startupLoaded"] = value; }
  84. }
  85. /// <summary>
  86. /// Gets or sets the modules this module depends on.
  87. /// </summary>
  88. /// <value>The names of the modules that this depends on.</value>
  89. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
  90. [ConfigurationProperty("dependencies", IsDefaultCollection = true, IsKey = false)]
  91. public ModuleDependencyCollection Dependencies
  92. {
  93. get { return (ModuleDependencyCollection)base["dependencies"]; }
  94. set { base["dependencies"] = value; }
  95. }
  96. }
  97. }