标签: msdn

Visual Studio帮助系统针对错误的框架版本

有时,当我按下F1Visual Studio代码编辑器时,它会打开带有.NET Micro Framework的MSDN页面的浏览器.我的项目使用的是.NET Framework 4.5,其中没有Micro Framework的痕迹.

例如F1,MulticastDelegate在我的代码编辑器中按下可打开此链接而不是此链接.

有人有同样的问题吗?

更新:
正如Jeff Braaten建议的那样,我检查了Debug帮助上下文,看起来很好.有上下文之间没有差别(除了关键字)ActionMulticastDelegate,例如.

同样告诉生成的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 visual-studio visual-studio-2012

9
推荐指数
2
解决办法
1078
查看次数

MSDN许可(开发,测试,演示)

我对我的MSDN Premium订阅有疑问.这是我想要设置的:

  1. 在开发框上安装Windows Server 2008(可能是R2)
  2. 在服务器上安装System Center Virtual Machine Manager 2008(可能是R2).
  3. 创建服务器上托管的多个VM(可能还有其他一些机器).

然后我会使用VM来开发,测试和演示我的软件(没有别的)

我的问题是,我可以使用从我的订阅中下载的许可证中的哪一个?我认为#3显然属于订阅范围,但是服务器操作系统许可证?是虚拟机管理器吗?

任何意见都会受到欢迎.任何事实(带有支持链接或文档)都将非常感激.

msdn

8
推荐指数
1
解决办法
3898
查看次数

ICollection的合同<T> .IsReadOnly

我正在编写一个实现的数组包装器类IList<T>.不过,我不确定要返回什么IList<T>.IsReadOnly(继承自ICollection<T>).

我的班级不允许插入和删除.它不会允许通过修改物品this[int].set属性.

MSDN指出,

只读集合不允许在创建集合后添加,删除或修改元素.

对于我的班级来说,这似乎意味着我必须返回,true但在我眼中,这使得该属性成为了一个完全没用:据我所见,这种方法的使用方法如下:

客户端处理任意操作,IList并且如果可能的话,需要在其中插入元素.他们可以通过调用Insert和捕获结果来做到这一点NotSupportedException- 由于各种原因,这可能是不可取的.因此,客户可以IsReadOnly事先测试该属性,而不是激发异常.

但是这个属性的结果将是错误的,因为它将集合的可修改性与其内容的可修改性混合在一起 - 这是完全不相关的事情!

可以肯定的,还有的IList.IsFixedSize属性,但是这是一个独立的类型(IList<T>延伸IList).我该怎么办?还实现IList(我真的喜欢这个替代方案)?做点别的吗?

.net collections msdn

8
推荐指数
1
解决办法
864
查看次数

Microsoft C++语言参考

无论何时提出任何问题,并且需要参考文本,我都不会看到MSDN C++语言参考.

我正在浏览它,我个人认为它写得非常好.

是否有一些特定的原因它不像标准那样频繁使用?

是因为它包含一些VC++特定的功能吗?

c c++ standards msdn coding-style

8
推荐指数
2
解决办法
479
查看次数

fill_n和fill填充相同的函数,但参数重载不同?

我一直在寻找到<algorithm>fillfill_n功能,以及他们给我似乎做同样的事情,但只是有不同的定义.

这是真的,如果不是,它们有什么不同?

他们描述的措辞似乎是差不多的(我在从MSDN阅读fill_nfill).

如果它们相同,那么可以使用这两种功能有什么好处?

它只是给开发人员更多的选择,还是比另一个更快?

c++ msdn visual-c++ stl-algorithm

8
推荐指数
1
解决办法
3142
查看次数

防止多次处置对象

请考虑以下代码:

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)

.net c# msdn dispose stream

8
推荐指数
1
解决办法
1065
查看次数

MEMORY_BASIC_INFORMATION结构中的BaseAddress和AllocationBase有什么区别?

在MSDN中,我发现以下`

BaseAddress - 指向页面区域的基址的指针.

AllocationBase - 指向VirtualAlloc函数分配的一系列页面的基址的指针.BaseAddress成员指向的页面包含在此分配范围内.

但我真的不明白有什么区别.谁能告诉我区别?(不像在MSDN :))

windows msdn operating-system process windows-7

8
推荐指数
1
解决办法
2535
查看次数

如果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文档(字符串)我没有看到任何提及此异常.在例外部分,有:

  • ArgumentException - path是一个空字符串("").
  • ArgumentNullException - path为null.
  • FileNotFoundException - 找不到该文件.
  • DirectoryNotFoundException - 指定的路径无效,例如位于未映射的驱动器上.
  • IOException - path包含文件名,目录名或卷标的错误或无效语法.

考虑更多关于这个问题,我想抛出的异常实际上应该是IOException而不是UnauthorizedAccessException.这是.NET Framework中的错误吗?问题是我有IOException处理程序,它通知用户无效的文件路径并继续应用程序工作流而不会崩溃.这个UnauthorizedAccessException崩溃了我的应用程序,因为它未处理.

我该如何处理这类问题?我想我过去遇到了类似的无证异常问题,但这个问题确实促使我研究这个问题并在这里提问.

.net c# msdn exception-handling exception

8
推荐指数
1
解决办法
312
查看次数

微软如何说WinAPI中单词的大小是16位?

我刚刚开始学习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

c windows assembly winapi msdn

8
推荐指数
3
解决办法
770
查看次数

阅读操纵杆功能

我正试图通过使用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)

python msdn ctypes joystick python-3.x

8
推荐指数
1
解决办法
266
查看次数