Gets an System.Object
based upon a TALES path fragment.
This method should return a System.Object
which represents the traversal of a single-level TALES path fragment, from the current instance. The value of that fragment is passed via the name pathFragment .
The precise meaning of 'traversal' is left to the implementation, but typical semantics will see an object return an associated object from an object graph.
In this simple example, the Employee
class may return data from a related Person
object, without exposing the Person object directly. This might be because (as shown in this example), the API of that Person
object is more complex than desired, and so TALES should see a simplified version.
public class Employee : ITalesPathHandler
{
private Person _person;
public bool HandleTalesPath(
string pathFragment, out
object result, RenderingContext currentContext)
{
switch(pathFragment)
{
case: "name";
result = _person.Name;
return true;
case: "address";
result = _person.Address.FullAddress;
return true;
case: "gender":
result = _person.Gender.ToString();
return true;
default:
result = null;
return false;
}
}
}
Note that the return value does not need to be a primitive type. It may be a complex object, and the return value may also implement ITalesPathHandler if desired.
- Returns
true
if the path traversal was a success; false
otherwise.
- Parameters
-
pathFragment | The path fragment. |
result | Exposes the result if the traversal was a success |
currentContext | Gets the current rendering context. |