有时,当我按下F1Visual Studio代码编辑器时,它会打开带有.NET Micro Framework的MSDN页面的浏览器.我的项目使用的是.NET Framework 4.5,其中没有Micro Framework的痕迹.
例如F1,MulticastDelegate在我的代码编辑器中按下可打开此链接而不是此链接.
有人有同样的问题吗?
更新:
正如Jeff Braaten建议的那样,我检查了Debug帮助上下文,看起来很好.有上下文之间没有差别(除了关键字)Action和MulticastDelegate,例如.
同样告诉生成的URL For Action:
http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1
&l=EN-US&k=k(System.Action);
k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);
k(DevLang-csharp)&rd=true
Run Code Online (Sandbox Code Playgroud)
用于MulticastDelegate:
http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1
&l=EN-US&k=k(System.MulticastDelegate);
k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);
k(DevLang-csharp)&rd=true
Run Code Online (Sandbox Code Playgroud)
因此,最有可能的是,VS不是如何生成请求,而是MSDN搜索引擎如何解释它.
我对我的MSDN Premium订阅有疑问.这是我想要设置的:
然后我会使用VM来开发,测试和演示我的软件(没有别的)
我的问题是,我可以使用从我的订阅中下载的许可证中的哪一个?我认为#3显然属于订阅范围,但是服务器操作系统许可证?是虚拟机管理器吗?
任何意见都会受到欢迎.任何事实(带有支持链接或文档)都将非常感激.
我正在编写一个实现的数组包装器类IList<T>.不过,我不确定要返回什么IList<T>.IsReadOnly(继承自ICollection<T>).
我的班级不允许插入和删除.它不会允许通过修改物品this[int].set属性.
在MSDN指出,
只读集合不允许在创建集合后添加,删除或修改元素.
对于我的班级来说,这似乎意味着我必须返回,true但在我眼中,这使得该属性成为了一个位完全没用:据我所见,这种方法的使用方法如下:
客户端处理任意操作,IList并且如果可能的话,需要在其中插入元素.他们可以通过调用Insert和捕获结果来做到这一点NotSupportedException- 由于各种原因,这可能是不可取的.因此,客户可以IsReadOnly事先测试该属性,而不是激发异常.
但是这个属性的结果将是错误的,因为它将集合的可修改性与其内容的可修改性混合在一起 - 这是完全不相关的事情!
可以肯定的,还有的IList.IsFixedSize属性,但是这是一个独立的类型(IList<T>也未延伸IList).我该怎么办?还实现IList(我真的不喜欢这个替代方案)?做点别的吗?
无论何时提出任何问题,并且需要参考文本,我都不会看到MSDN C++语言参考.
我正在浏览它,我个人认为它写得非常好.
是否有一些特定的原因它不像标准那样频繁使用?
是因为它包含一些VC++特定的功能吗?
请考虑以下代码:
using (Stream stream = new FileStream("file.txt", FileMode.OpenOrCreate))
{
using (StreamWriter writer = new StreamWriter(stream))
{
// Use the writer object...
}
}
Run Code Online (Sandbox Code Playgroud)
当writer流被处理时,它在内部处理FileStream stream.
除了MSDN建议在finally子句中处置外部使用的流之外,还有其他任何设计:
Stream stream = null;
try
{
stream = new FileStream("file.txt", FileMode.OpenOrCreate);
using (StreamWriter writer = new StreamWriter(stream))
{
stream = null;
// Use the writer object...
}
}
finally
{
if(stream != null)
stream.Dispose();
}
Run Code Online (Sandbox Code Playgroud) 在MSDN中,我发现以下`
BaseAddress - 指向页面区域的基址的指针.
AllocationBase - 指向VirtualAlloc函数分配的一系列页面的基址的指针.BaseAddress成员指向的页面包含在此分配范围内.
但我真的不明白有什么区别.谁能告诉我区别?(不像在MSDN :))
最近我遇到了一个我没想到的异常,因为在MSDN中没有记录它可以被特定的构造函数抛出.所以这是引发异常的C#行:
using (StreamReader sr = new StreamReader(filePath))
Run Code Online (Sandbox Code Playgroud)
filePath here是应该包含某个文件的完整路径的字符串.问题是我的"filePath"变量实际上是文件夹的路径,而不是文件的路径.因此构造函数StreamReader(filePath)抛出:
System.UnauthorizedAccessException: Access to the path 'D:\testFolder' is denied.
Run Code Online (Sandbox Code Playgroud)
好的,所以这显然是一个错误,我通过传递正确的路径修复它...但是查看流式读取器的MSDN文档(字符串)我没有看到任何提及此异常.在例外部分,有:
考虑更多关于这个问题,我想抛出的异常实际上应该是IOException而不是UnauthorizedAccessException.这是.NET Framework中的错误吗?问题是我有IOException处理程序,它通知用户无效的文件路径并继续应用程序工作流而不会崩溃.这个UnauthorizedAccessException崩溃了我的应用程序,因为它未处理.
我该如何处理这类问题?我想我过去遇到了类似的无证异常问题,但这个问题确实促使我研究这个问题并在这里提问.
我刚刚开始学习WinAPI.在MSDN中,为WORD数据类型提供了以下说明.
WORD
16位无符号整数.范围是0到65535十进制.
此类型在WinDef.h中声明如下:
typedef unsigned short WORD;
很简单,它与我用于学习的其他资源相匹配,但它怎么能明确地说它是16位?维基百科上的C数据类型页面指定
short/short int/signed short/signed short int
短符号整数类型.
能够至少包含[-32767,+ 32767]范围; 因此,它的大小至少为 16位.
因此short根据C标准,a的大小很可能是32位.但是谁决定使用什么比特尺寸呢?我在这里找到了实用的解释.具体来说,行:
...它取决于两个处理器(更具体地说,ISA,指令集架构,例如x86和x86-64)和包括编程模型的编译器.
那么这就是ISA,我认为这是有道理的.这是我迷路的地方.看一下维基百科上的Windows页面,我在侧栏中看到了这一点:
平台ARM,IA-32,Itanium,x86-64,DEC Alpha,MIPS,PowerPC
我真的不知道这些是什么,但我认为这些是处理器,每个都有一个ISA.也许Windows支持这些平台,因为所有这些平台都保证使用16位unsigned short?这听起来不太对劲,但我对这些东西的了解还不够深入.
回到我的问题:当C标准本身不能保证a 总是16位时,Windows API怎么能typedef unsigned short WORD;然后说WORD是16位无符号整数short?
我正试图通过使用winmm.dll库来阅读我的操纵杆功能.我是这样做的......
from ctypes import windll, Structure, c_uint, c_ushort, c_char, c_ulong
WORD = c_ushort
UINT = c_uint
TCHAR = c_char
winmm = windll.LoadLibrary('winmm.dll')
class JOYCAPS(Structure):
_fields_ = [
('wMid', WORD),
('wPid', WORD),
('szPname', TCHAR * MAXPNAMELEN), # originally szPname[MAXPNAMELEN]
('wXmin', UINT),
('wXmax', UINT),
('wYmin', UINT),
('wYmax', UINT),
('wZmin', UINT),
('wZmax', UINT),
('wNumButtons', UINT),
('wPeriodMin', UINT),
('wPeriodMax', UINT),
('wRmin', UINT),
('wRmax', UINT),
('wUmin', UINT),
('wUmax', UINT),
('wVmin', UINT),
('wVmax', UINT),
('wCaps', UINT),
('wMaxAxes', UINT),
('wNumAxes', UINT),
('wMaxButtons', UINT),
('szRegKey', TCHAR …Run Code Online (Sandbox Code Playgroud)