F # Dziedzicz z klasy C # + dostęp do chronionych pól
Mam tę klasę bazową, która tworzy nowe połączenie z programem SQL Server i wykonuje kilka metod użytkowych w języku C #, chcę dziedziczyć w F #. Obecnie nie mogę uzyskać dostępu do chronionych pól w klasie C # z F #, chociaż działałoby to w C #.
Klasa abstrakcyjna C #
public abstract class SQL
{
protected readonly SqlConnectionStringBuilder bld;
protected readonly SqlCommand cmd;
protected readonly SqlConnection conn;
protected readonly string connstring;
protected string userid;
public SQL(string server, string db)
{
bld = new SqlConnectionStringBuilder();
bld.DataSource = server;
bld.InitialCatalog = db;
bld.IntegratedSecurity = true;
connstring = bld.ConnectionString;
conn = new SqlConnection(connstring);
cmd = new SqlCommand();
GetUserID();
//Other utility methods here
}
Kod F # do dziedziczenia
type Transfer ( server : string ) ( db : string ) =
inherit SQL(server, db)
let accessAbstractConn = conn. //Can't access protected field????
Czy coś tu przegapiłem? Próbowałem aliasingować pole klasy bazowej np. this.conn, który również nie działa.
Dzięki Richard