Métodos de extensión

1. Código de la entidad Person en backend (C#)

public class Person
{
    private string name;
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
    private int age;
    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    //Constructor sin parámetros
    public Person(){}
    //Constructor con parámetros
    public Person(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    //Método de instancia sin parámetros
    public string getMyName()
    {
        return this.name;
    }

    //Método de instancia con varios parámetros
    public string JoinStr(string str1, string str2)
    {
        return str1 + str2;
    }
}Lenguaje del código: C# (cs)

Definir variables de objeto en el código backend C#

Person pTest = new Person("Tom", 22);
context.Put("pTest", pTest);Lenguaje del código: JavaScript (javascript)

2. Código de plantilla VTL & notas de renderizado

Llamada al método<br />
$pTest.getMyName();

#set($a = "hello")
#set($b = "foxdevelop")

$pTest.JoinStr($a, $b);Lenguaje del código: PHP (php)
1. $pTest.getMyName()
  • Llamar al método sin parámetros del objeto getMyName()
  • Devuelve Tom

✅ Llamada de método sin parámetros en Velocity: los paréntesis () se pueden omitir, $pTest.getMyName equivale a $pTest.getMyName()

2. $pTest.JoinStr($a, $b)
  • Ejecutar método con dos parámetros de cadena
  • VTL resuelve primero $a, $b y pasa los valores reales "hello", "foxdevelop"
  • Retorna el resultado concatenado: hellofoxdevelop

Resumen

  1. El nombre del método distingue mayúsculas y minúsculas
    C# getMyName()GetMyName(), la plantilla debe coincidir exactamente con la escritura del código.
  2. Pasa variables directamente
    No añadas comillas extra, $pTest.JoinStr($a,$b) es correcto; no uses $pTest.JoinStr("$a","$b") (pasará la cadena literal «$a»)
  3. Diferencia entre propiedad y método
  • $pTest.Name → acceder a propiedad (getter)
  • $pTest.getMyName() → llamada a método
  1. Los valores devueltos se imprimen automáticamente
    Escribe directamente $objeto.metodo() en la plantilla, Velocity muestra el valor devuelto automáticamente. Usa #set para capturar el resultado sin imprimirlo:
#set($result = $pTest.JoinStr($a,$b))Lenguaje del código: PHP (php)

3. Salida final renderizada de la página

Llamada al método
Tom;

hellofoxdevelop;

Métodos de extensión

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *