Files
PowerShell-PowerShell/src/System.Management.Automation/engine/PSClassInfo.cs
T
xtqqczze 859890374a Use read-only auto-implemented properties (#13507)
* Autofix RCS1170: Use read-only auto-implemented property
2020-09-02 08:11:16 +05:00

88 lines
2.5 KiB
C#

// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
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; }
/// <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; internal set; } = 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(nameof(name));
this.Name = name;
this.TypeName = memberType;
this.DefaultValue = defaultValue;
}
/// <summary>
/// Gets or sets name of the member.
/// </summary>
public string Name { get; }
/// <summary>
/// Gets or sets type of the member.
/// </summary>
public string TypeName { get; }
/// <summary>
/// Default value of the Field.
/// </summary>
public string DefaultValue { get; }
}
}