谈谈泛型要求子类必须继承自当前类的事情-后续
用了几天后,发现不方便,引发了其他新的问题
//问题一:
//C#不能像java包结构一样,类不写public就是对其他包隐藏该类,C#没隐藏功能?还是我孤陋寡闻?
//C# 甚至还强制要求父类必须跟子类修饰符一致或者更大的可访问权限,好操蛋设计,我想对外隐藏父类都做不到,会被其他人直接实例化父类,SuperClass<T>满足了T,但是T已经不是this了。真的不能隐藏这个类吗?还是我孤陋寡闻?
public class SuperClass{
}
public class SuperClass<T> : SuperClass where T : SuperClass, new(){//无视掉new()约束吧。只是为了举例Instance需要用到而已
private static T m_Instance;
public static T Instance {
get{
if(m_Instance == null){
m_Instance = new T();
}
return m_Instance;
}
}
//
//问题二:T不能代表SuperClass<T>,跟我之前的帖子初衷不符合
// 假设个环境:
// 插件模式开发的话,不能用new实例化对象,而是被引擎实例化后,通知某个方法,当前以OnInstance模拟该环境
//
protected void OnInstance(){
m_Instance = this;//错误,此时。this已经跟T不是类型直接关系了。。。无法赋值。
//Instance 的返回类型是禁止从T改变成
}
}
public class A : SuperClass<A>{ }
public class B : SuperClass{ }
public class Test{
public void MyTest(){
A a = A.Instance;//这种通过
B b = B.Instance;//这种不通过。不存在这个属性。没法通过T直接限制为子类为自身类,因为父类也被要求SuperClass访问权限必须同SuperClass<T>一样,会被直接继承实例化,无法有效管理
}
}
相关推荐
正交拉丁超立方(OLHC)分组与实验设计(DOE)评估的优化Python实现.rar
正交拉丁超立方(OLHC)分组与实验设计(DOE)评估的优化Python实现.rar
Java微服务如何拆解审计日志查询服务
标题:Java微服务如何拆解审计日志查询服务 内容概要:围绕缓存策略、任务调度、回压控制和审计追踪,拆解Java微服务如何拆解审计日志查询服务的实现细节。 xdronline.com xdrea.com 9g.xinmei6.com xinghaohuanbao.com m.xiker66.com
港股十档行情tick数据涵盖逐笔成交与委托,记录每笔买卖价格、成交量及挂单明细 逐笔数据包含成交时间、价格、股数、成交方向,委托数据展示买一至买十、卖一至卖十的价格与数量
港股十档行情tick数据涵盖逐笔成交与委托,记录每笔买卖价格、成交量及挂单明细。逐笔数据包含成交时间、价格、股数、成交方向,委托数据展示买一至买十、卖一至卖十的价格与数量。分钟数据汇总每分钟开盘价、最高价、最低价、收盘价、成交量及成交额。历史行情覆盖近十五年,字段清晰完整,便于回溯分析。 数据源:CMES金融数据库
MO-372A_PQFP-F6_I1p27-R3p8x4p48Z1p1-N5p5C1p24.stp
MO-372A_PQFP-F6_I1p27-R3p8x4p48Z1p1-N5p5C1p24.stp
光伏储能虚拟同步发电机VSG并网仿真模型(Similink仿真实现)
内容概要:本文介绍了一种光伏储能虚拟同步发电机(VSG)并网的Simulink仿真模型,旨在通过仿真手段实现新能源系统与电网的高效协同运行。该模型深度融合光伏发电与储能系统,借助虚拟同步发电机技术有效提升系统的惯性和阻尼特性,从而显著增强电网在高比例可再生能源接入背景下的稳定性。文中重点阐述了VSG在频率调节、电压支撑及动态响应等方面的优越性能,并提供了完整的仿真框架,支持研究人员进行控制策略优化、参数调整与系统性能验证,有助于推动智能电网与新能源并网技术的发展。; 适合人群:具备一定电力系统基础知识和Simulink仿真经验的科研人员、电气工程及相关专业的研究生或从事新能源并网技术研发的工程师。; 使用场景及目标:① 研究光伏储能系统并网的动态行为;② 设计与优化虚拟同步发电机的控制策略以提高电网稳定性;③ 验证新型控制算法在多时间尺度调度中的有效性;④ 教学演示新能源系统与电网互动的物理机制。; 阅读建议:建议读者结合提供的仿真模型与代码,深入理解VSG的工作原理,尝试修改控制参数以观察系统响应变化,并参考文中提及的Matlab代码实现方式,进一步开展个性化研究与创新设计。


