Files
PowerShell-PowerShell/src/System.Management.Automation/engine/QuestionMarkVariable.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

54 lines
1.4 KiB
C#

/********************************************************************++
Copyright (c) Microsoft Corporation. All rights reserved.
--********************************************************************/
using System;
namespace System.Management.Automation
{
/// <summary>
/// A variable that represents $?
/// </summary>
internal class QuestionMarkVariable : PSVariable
{
/// <summary>
/// Constructs an instance of the variable with execution context.
/// </summary>
///
/// <param name="context">
/// Execution context
/// </param>
internal QuestionMarkVariable (ExecutionContext context)
: base(SpecialVariables.Question, true, ScopedItemOptions.ReadOnly | ScopedItemOptions.AllScope, RunspaceInit.DollarHookDescription)
{
_context = context;
}
private readonly ExecutionContext _context;
/// <summary>
/// Gets or sets the value of the variable.
/// </summary>
///
public override object Value
{
get
{
DebuggerCheckVariableRead();
return _context.QuestionMarkVariableValue;
}
set
{
// Call base's setter to force an error (because the variable is readonly).
base.Value = value;
}
}
}
}