Go a un nice feature où les membres d'une struct imbriqué sont automatiquement accessibles via son struct parent:Passage en C#?
// Server exposes all the methods that Logger has
type Server struct {
Host string
Port int
*log.Logger
}
// initialize the embedded type the usual way
server := &Server{"localhost", 80, log.New(...)}
// methods implemented on the embedded struct are passed through
server.Log(...) // calls server.Logger.Log(...)
// the field name of the embedded type is its type name (in this case Logger)
var logger *log.Logger = server.Logger
Est-ce même possible en C#, par exemple en utilisant implicit
moulages?
struct B
{
public int x;
}
struct A
{
public B b;
}
var a = new A();
a.b.x = 1; // How it usually works
a.x = 1; // How Go works, assuming x is unambiguous
Non, il n'y a rien comme ça en C#. Vous pouvez toujours ajouter votre propre propriété que les délégués. –