クラスの構造についてどうすればよいかについて助けが必要です。使い方はIndexers
?のようなものが欲しい
Company.Employees[empId].Employee["Designation"].Salary
具体的には Grid.Rows[rowIndex].Columns["CurrentColumnName"].Width のように
クラスの構造についてどうすればよいかについて助けが必要です。使い方はIndexers
?のようなものが欲しい
Company.Employees[empId].Employee["Designation"].Salary
具体的には Grid.Rows[rowIndex].Columns["CurrentColumnName"].Width のように
のようなメソッドを追加します
public string this[string s]
{
get{
if(s == ...)
return this.property;
}
}
それでも、これは の状況のようですが、完全な例についてはこちらCollections
を参照してください。
ジェネリックにできるので、むしろメソッドが必要です。
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 であったかを正確に特定することは非常に困難です。したがって、バグを解決する際のトラブルが少なくなるように、物事を少し分割してより多くの行を作成します。