Files
PowerShell/src/System.Management.Automation/engine/PSClassInfo.cs
T
PowerShell Team 60b3b304f2 Move files from psl-monad submodule to super-project
This commit uses psl-monad branch source-depot 7209cb9
And corresponds to [SD:688741]
2016-03-30 17:16:23 -07:00

102 lines
3.0 KiB
C#

//-----------------------------------------------------------------------
// <copyright file="DscResourceInfo.cs" company="Microsoft Corporation">
// Copyright (C) 2013 Microsoft Corporation
// </copyright>
//-----------------------------------------------------------------------
using System.Collections.Generic;
using System.Collections.ObjectModel;
namespace System.Management.Automation
{
/// <summary>
/// Contains a PS Class information
/// </summary>
public sealed class PSClassInfo
{
/// <summary>
/// Initializes a new instance of the PSClassInfo class
/// </summary>
/// <param name="name">Name of the PS Class.</param>
internal PSClassInfo(string name)
{
this.Name = name;
}
/// <summary>
/// Name of the class.
/// </summary>
public string Name { get; private set; }
/// <summary>
/// Collection of members of the class.
/// </summary>
public ReadOnlyCollection<PSClassMemberInfo> Members { get; private set; }
/// <summary>
/// Updates members of the class.
/// </summary>
/// <param name="members">Updated members</param>
public void UpdateMembers(IList<PSClassMemberInfo> members)
{
if (members != null)
this.Members = new ReadOnlyCollection<PSClassMemberInfo>(members);
}
/// <summary>
/// Module in which the class is implemented in.
/// </summary>
public PSModuleInfo Module { get ; internal set; }
/// <summary>
/// Gets the help file path for the cmdlet.
/// </summary>
public string HelpFile
{
get
{
return helpFilePath;
}
internal set
{
helpFilePath = value;
}
} // HelpFile
private string helpFilePath = String.Empty;
}
/// <summary>
/// Contains a class field information
/// </summary>
public sealed class PSClassMemberInfo
{
/// <summary>
/// Initializes a new instance of the PSClassMemberInfo class
/// </summary>
internal PSClassMemberInfo(string name, string memberType, string defaultValue)
{
if (String.IsNullOrEmpty(name))
throw new ArgumentNullException("name");
this.Name = name;
this.TypeName = memberType;
this.DefaultValue = defaultValue;
}
/// <summary>
/// Gets or sets name of the member
/// </summary>
public string Name { get; private set; }
/// <summary>
/// Gets or sets type of the member
/// </summary>
public string TypeName { get; private set; }
/// <summary>
/// Default value of the Field.
/// </summary>
public string DefaultValue { get; private set; }
}
}