dotNet Bug? Reflection. 大家来猜猜输出是什么~

xiyun 2007-09-07 06:13:21
using System;
using System.Collections;
using System.Reflection;

public class MyClass
{
public static void Main()
{
PropertyInfo piPublic = typeof(SubA).GetProperty("Name", BindingFlags.Instance | BindingFlags.Public);
WL(piPublic == null);
PropertyInfo piNonPublic = typeof(SubA).GetProperty("Name", BindingFlags.Instance | BindingFlags.NonPublic);
WL(piNonPublic == null);
RL();
}

#region Helper methods

private static void WL(object text, params object[] args)
{
Console.WriteLine(text.ToString(), args);
}

private static void RL()
{
Console.ReadLine();
}

private static void Break()
{
System.Diagnostics.Debugger.Break();
}

#endregion
}

public class A
{
internal string Name
{
get{ return "A"; }
}
}

public class SubA : A
{
}

======================================
Output:
True
True
======================================

Why ?
...全文
216 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Ubuntu 7.0.4
Monodevelop 0.12

======================================
Output:
True
False
======================================
xiyun 2007-09-13
  • 打赏
  • 举报
回复
dotNet版本是1.1, 2.0的确实没问题。估计是1.1的bug.
xiyun 2007-09-11
  • 打赏
  • 举报
回复
...你们回帖前,有做过测试么?我现在想问的是为什么internal的属性居然用反射取不到呢?????
xiyun 2007-09-10
  • 打赏
  • 举报
回复
接着up..
xiyun 2007-09-10
  • 打赏
  • 举报
回复
up~~~
xiyun 2007-09-10
  • 打赏
  • 举报
回复
你确定你测试过么?
crossrowman 2007-09-10
  • 打赏
  • 举报
回复
internal string Name

把internal改为 private protected public分别试试结果
就不难理解了

internal修饰的成员只有再同一个程序集中才能被访问
可以理解为internal修饰的成员是不被子类继承的
北京的雾霾天 2007-09-07
  • 打赏
  • 举报
回复
因为Name属性非公开的成员,所以每一个piPublic 肯定是null所以为True
而piNonPublic 则一定是非null的,所以为False
北京的雾霾天 2007-09-07
  • 打赏
  • 举报
回复
Output:
True
True
----------------------
不对啊,应该是:
Output:
True
False

内容概要:本文围绕“单相逆变器闭环逆变电路PWM模型仿真研究”展开,基于Simulink平台构建单相逆变器的闭环控制系统仿真模型,重点研究PWM调制技术在逆变电路中的应用与实现。文中详细阐述了系统架构设计、电压电流双闭环控制策略的实现原理、控制器参数设计及仿真建模全过程,并通过仿真结果验证了控制方案在动态响应、稳态精度与系统稳定性方面的有效性。同时,文档还涵盖多种电力电子系统典型应用场景,如多类型短路故障仿真(中性点不接地、经小电阻接地、经消弧线圈接地等)、软开关技术、微电网能量管理、MPPT控制等,体现出较强的技术综合性和工程实践价值。; 适合人群:电气工程、自动化、电力电子与新能源等相关专业的高校本科生、研究生、科研人员,以及从事电力系统仿真、逆变器设计与新能源并网技术研发的工程技术人员。; 使用场景及目标:①掌握基于Simulink的单相逆变器闭环控制系统建模与PWM仿真方法;②深入理解双闭环控制、SPWM/SVPWM调制、系统稳定性分析等核心技术原理;③为课程设计、毕业设计、科研项目或实际工程开发提供可复用的仿真模型与技术支持; 阅读建议:建议结合文中仿真模型动手实践,重点掌握PI控制器参数整定、PWM信号生成机制与仿真结果分析方法,同时可延伸学习文档中涉及的软开关、故障仿真、微电网控制等关联技术,以拓展系统级设计能力。

17,748

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧