- 论坛徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2017-07-18 18:37 编辑
回复 7# 本友会机友会摄友会
太棒了,多谢大神指点。
但是有个问题不明白,向大神请教:
- class Person{
- [string] $name
- [int] $age
- Person([string] $name, [int] $age){
- $this.name = $name
- $this.age = $age
- }
- [bool] Valid(){
- return $this.age -ge 18
- }
- }
- $people = New-Object 'System.Collections.Generic.List[Person]'
- ("Elvis", "Red", "Gray", "David", "Friddle", "Frank", "Green", "Cat") | foreach{
- $name = $_
- $age = Get-Random -Maximum 21 -Minimum 16
- [Person] $person = [Person]::new($name, $age)
- $people.Add($person)
- Write-Host ("Name = {0}, Age = {1}" -f $person.name, $person.age)
- }
- $people | Where-Object {$_.Valid()}
复制代码
输出结果如下:
Name = Elvis, Age = 18
Name = Red, Age = 20
Name = Gray, Age = 18
Name = David, Age = 16
Name = Friddle, Age = 16
Name = Frank, Age = 19
Name = Green, Age = 19
Name = Cat, Age = 16
name age
---- ---
Elvis 18
Red 20
Gray 18
Frank 19
Green 19
能否在 Person 类的内部添加一个属性?类似如下的属性:
- class Person{
- ....
- [bool] IsChildren{
- get{
- return $this.age -lt 18
- }
- }
- ....
- }
复制代码
可能有些时候,我并不想为方法传递参数。使用属性是最佳的方式,不知道能不能实现?
|
|