从C#类(部分类)后面的代码访问不同程序集中的类的受保护成员

时间:2016-09-21 08:51:41

标签: c# inheritance

我有一个来自解决方案项目的受保护成员的类:

public partial class MainWindow : Window
{
}

现在我想从不同的项目类访问这些受保护的类成员,这也是xaml页面背后的代码:

data_files=['2012.h5', '2013.h5', '2014.h5', '2015.h5', '2016.h5', '2008_2011.h5'] 
cols = ['Significance_without_muons', 'Significance_with_muons']

def agg(data_file):
    return pd.read_hdf(data_file).groupby('day')[cols].agg(['mean', 'std'])

big_df = pd.concat([agg(fn) for fn in data_files], axis=1, keys=data_files)

mean_wo_tmp = big_df.xs(('Significance_without_muons', 'mean'), axis=1, level=[1, 2])
mean_w_tmp = big_df.xs(('Significance_with_muons', 'mean'), axis=1, level=[1, 2])
std_wo_tmp = big_df.xs(('Significance_without_muons', 'std'), axis=1, level=[1, 2])
std_w_tmp = big_df.xs(('Significance_with_muons', 'mean'), axis=1, level=[1, 2])

del big_df

1 个答案:

答案 0 :(得分:2)

无法访问类的受保护成员。

然而,可以做的是从FPrintImage派生一个子类:

public class MyFPrintImage : FPrintImage
{
    public static Byte[] getFPImage1()
    {
        return fpImage1;
    }

    public static void setFPImage1(Byte[] _fpImage1)
    {
        fpImage1 = _fpImage1;
    }

}   

然后您可以访问受保护的成员。

编辑:确实无法从两个基类继承,但您可以在MainWindow类中创建子类的实例。