none
Duda con firma de método estilo: db.Delete<Persona>(id); RRS feed

  • Pergunta

  • Hola!

      Estoy diseñando una librebría en c# y viendo los orm petapoco y dapper.net encontre que tienen un modo desconocido para mi de invocar métodos , el mismo es el siguiente: 

    db.Delete<Persona>(id);


    Entiendo que db hace referencia a la instancia de clase del orm en cuestión , delete es el nombre del método a invocar el cual devuelve un objeto de tipo persona y se le suministra un parametro de nombre ID ..

    Ahora bien si yo quisiera implementar ese tipo de firma en un método de una clase particular mía , como podría hacerlo?

    pense en algo similar a:

    class Persona{
      
      int id;
      string name;
    
    }
    
    class Demo {
    
      public Demo(){}
    
      //-- Persona sería el objeto que devuelve
    
      public void saludar<Persona>(string nombre){}
    
    }
    
      

    Claramente en el ide me tira error de sintaxis y no me deja continuar. 

    Desconozco como se llama ese sistema de firma de métodos y como poder hacer mis métodos personalizados usando ese esquema.

     

    quarta-feira, 19 de fevereiro de 2020 17:26

Todas as Respostas

  • Deleted
    quarta-feira, 19 de fevereiro de 2020 17:50
  • hola

    Tienes que leer sobre generics

    Genéricos (Guía de programación de C#)

    where (restricción de tipo genérico) (Referencia de C#)

    Despues es raro que definiendo una clase definas el generico en el metodo

    public class Demo<T>: where T: class, new() {
    
      public T saludar(string nombre){
      
    	return new T();
    	
      }
    
    }

    la usas

    var d = new Demo<Persona>();
    
    var persona = d.saludar("xxx");


    igual no se que quieres hacer con esa propiedad nombre, porque si es asignarla no vas a poder de esa forma ya que necesitas alguna interface de base

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    quarta-feira, 19 de fevereiro de 2020 19:35
  • Gracias a los dos!

    La idea es poder crear un pequeño sistema simil petapoco para una aplicación que estoy diseñando. Ya se que es más facil usar algo existente pero es útil aprender como funcionan y poder adaptar a las necesidades particulares de cada proyecto .

    Gracias

    quinta-feira, 20 de fevereiro de 2020 01:48
  • hola

    Pero en lugar de gastar el tiempo de esa forma reinventando la rueda, porque no usas Entity Framework que es super simple de aplicar y te resuelve toda la persistencia

    Ademas sino es petapoco hay otros miles mas simples de implementar como ser Dapper

    Si querias aprender buscas complicarte con otra cosa que no exista ya desarrollada y usada en miles de aplicaciones

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    quinta-feira, 20 de fevereiro de 2020 12:31