私はそれを問題として理解していません-私は理解します:
Test.cs(12,29): error CS1026: ) expected
Test.cs(12,42): error CS1514: { expected
Test.cs(12,42): error CS1525: Invalid expression term ')'
Test.cs(12,44): error CS1002: ; expected
Test.cs(13,9): error CS1525: Invalid expression term 'case'
Test.cs(13,19): error CS1001: Identifier expected
Test.cs(13,19): error CS1525: Invalid expression term ':'
Test.cs(13,20): error CS1002: ; expected
Test.cs(15,9): error CS1525: Invalid expression term 'case'
Test.cs(15,20): error CS1001: Identifier expected
Test.cs(15,20): error CS1525: Invalid expression term ':'
Test.cs(15,21): error CS1002: ; expected
タイプをオンにすることはできません。ただし、一般的にはそのように使用ForEach
することは問題ありません。
サンプルコード:
using System;
using System.Linq;
class Test
{
public string Foo { get; set; }
public int Bar { get; set; }
public void DumpProperties()
{
this.GetType().GetProperties().ToList()
.ForEach(p => Console.WriteLine("{0}: {1}", p.Name,
p.GetValue(this, null)));
}
static void Main()
{
new Test { Foo = "Hi", Bar = 20 }.DumpProperties();
}
}
確かに、私は通常ここでは使用しません-ループForEach
を使用するだけです:foreach
foreach (var property in GetType().GetProperties())
{
// Use property
}
個人的には、これはよりクリーンで読みやすく、デバッグも簡単だと思います。