Antlr4.StringTemplate.Misc.ObjectModelAdaptor.GetProperty C# (CSharp) Method

GetProperty() public method

public GetProperty ( Interpreter interpreter, TemplateFrame frame, object o, object property, string propertyName ) : object
interpreter Interpreter
frame TemplateFrame
o object
property object
propertyName string
return object
        public virtual object GetProperty(Interpreter interpreter, TemplateFrame frame, object o, object property, string propertyName)
        {
            if (o == null)
                throw new ArgumentNullException("o");

            Type c = o.GetType();
            if (property == null)
                throw new TemplateNoSuchPropertyException(o, string.Format("{0}.{1}", c.FullName, propertyName ?? "null"));

            object value;
            var accessor = FindMember(c, propertyName);
            if (accessor != null)
            {
                value = accessor(o);
            }
            else
            {
                throw new TemplateNoSuchPropertyException(o, string.Format("{0}.{1}", c.FullName, propertyName));
            }

            return value;
        }