我有这个基类,它创建一个新的 SQL Server 连接并在 C# 中执行一些实用程序方法,我想在 F# 中继承。目前我无法从 F# 访问 C# 类中的受保护字段,尽管这可以在 C# 中使用。
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
}
要继承的 F# 代码
type Transfer ( server : string ) ( db : string ) =
inherit SQL(server, db)
let accessAbstractConn = conn. //Can't access protected field????
我在这里错过了什么吗?我已经尝试给基类字段加上别名,例如 this.conn 这也不起作用。
谢谢理查德