1

クラスの構造についてどうすればよいかについて助けが必要です。使い方はIndexers?のようなものが欲しい

Company.Employees[empId].Employee["Designation"].Salary

具体的には Grid.Rows[rowIndex].Columns["CurrentColumnName"].Width のように

4

3 に答える 3

2

のようなメソッドを追加します

 public string this[string s]
 {
     get{
         if(s == ...)
          return this.property;
     }

 }

それでも、これは の状況のようですが、完全な例についてはこちらCollectionsを参照してください。

于 2013-04-01T19:56:20.313 に答える
0

ジェネリックにできるので、むしろメソッドが必要です。

public T GetPropertyValue<T>(string property)
{
    var propertyInfo = GetType().GetProperty(property);
    return (T)propertyInfo.GetValue(this, null);
}

var emp = employee.GetPropertyValue<Employee>("Designation");
var salary = emp.Salary;

とは言っても…ドット表記が多いので注意。ログ ファイルの行に NullReferenceException が表示された場合、何が null であったかを正確に特定することは非常に困難です。したがって、バグを解決する際のトラブルが少なくなるように、物事を少し分割してより多くの行を作成します。

于 2013-04-01T20:20:05.770 に答える