Bird
0
0

You have an object $obj with a property Values as an array. You want to add a ScriptMethod SumValues that returns the sum of all elements in Values. Which code correctly implements this?

hard📝 Application Q9 of 15
PowerShell - Working with Objects
You have an object $obj with a property Values as an array. You want to add a ScriptMethod SumValues that returns the sum of all elements in Values. Which code correctly implements this?
A$obj | Add-Member -MemberType ScriptMethod -Name SumValues -Value { ($this.Values | Measure-Object -Sum).Sum }
B$obj | Add-Member -MemberType ScriptProperty -Name SumValues -Value { ($this.Values | Measure-Object -Sum).Sum }
C$obj | Add-Member -MemberType ScriptMethod -Name SumValues -Value { $this.Values.Sum() }
D$obj | Add-Member -MemberType Property -Name SumValues -Value ($this.Values | Measure-Object -Sum).Sum
Step-by-Step Solution
Solution:
  1. Step 1: Identify correct MemberType for method

    SumValues is a method that calculates sum dynamically, so MemberType must be ScriptMethod.
  2. Step 2: Use Measure-Object to sum array

    Using ($this.Values | Measure-Object -Sum).Sum correctly sums array elements inside script block.
  3. Final Answer:

    $obj | Add-Member -MemberType ScriptMethod -Name SumValues -Value { ($this.Values | Measure-Object -Sum).Sum } -> Option A
  4. Quick Check:

    ScriptMethod with Measure-Object sums array = B [OK]
Quick Trick: Use Measure-Object inside ScriptMethod to sum arrays [OK]
Common Mistakes:
  • Using ScriptProperty instead of ScriptMethod
  • Calling .Sum() method which doesn't exist on array
  • Adding static property instead of method

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More PowerShell Quizzes