2

我一直在寻找这个问题,但没有运气,我希望它不会重复。我有一个抽象类。

public abstract class IFDB
{
     public struct Estructura_TablaCuentasBancarias
    {
        public string NombreTabla;
        public string NumeroDeCuenta;
        public string Entidad;
        public string DNIPropietario;

        public Estructura_TablaCuentasBancarias(string NombreTabla, string NumeroDeCuenta, string Entidad, string DNIPropietario)
        {
            this.NombreTabla = NombreTabla;
            this.NumeroDeCuenta = NumeroDeCuenta;
            this.Entidad = Entidad;
            this.DNIPropietario = DNIPropietario;
        }
    }

}

和派生类:

class CntrDBSQLSRVCompac: IFDB
{
     public readonly Estructura_TablaCuentasBancarias TablaCuentasBancarias =
        new Estructura_TablaCuentasBancarias("CuentasBancarias", "Numero De Cuenta", "Entidad", "DNI Propietario");

在程序中我已经完成了实例:

protected IFDB ClsCntrlDB;
...

ClsCntrlDB = new CntrDBSQLSRVCompac();

但是当尝试使用结构“TablaCuentasBancarias”时,它不在可能的函数/变量列表中。如果结构的实例和初始化是在 IFDB 类中完成的,那么它可以完美地工作,但是,我想让 IFDB 类成为一个接口。

我做错了什么?

谢谢你。

4

2 回答 2

0

以下代码对我来说很好,所以也许你还有其他问题。

abstract class FooBase
{
    public struct Bar
    {

    }
}

class Foo : FooBase
{
    public readonly Bar BarInstance = new Bar();
}

class TestClass
{
    public static void Test()
    {
        var foo = new Foo();
        var bar = foo.BarInstance; //works fine
    }
}
于 2013-01-30T20:14:53.013 回答
0

Estructura_TablaCuentasBancarias是一个嵌套结构。为了IFDB在界面中制作,您需要从中提取嵌套结构IFDB

public interface IFDB
{
    Estructura_TablaCuentasBancarias Foo { get; set; }

    // other properties/functions from the IFDB class
}

public struct Estructura_TablaCuentasBancarias
{
    // struct declaration
}
于 2013-01-30T20:22:29.700 回答