可能重复:
C#中最有用的属性
我总是觉得我缺少可以通过简单地将属性应用于类,方法,属性等而在.Net中获得的功能.智能感知无法显示所有适当的属性,因为它们通常可以广泛应用于场景.
这是我喜欢使用的几个属性:
[DebuggerHidden] - 将此放置在方法上可防止Visual Studio调试器插入代码.如果您有一个不断触发和中断调试的事件,这将非常有用.
[EditorBrowsable(EditorBrowsableState.Never)] - 隐藏intellisense中的方法.我不经常使用它,但它在构建可重用组件时很方便,并且您想隐藏一些测试或调试方法.
我想看看其他人在使用什么,以及人们有什么提示.
我还不需要在C#中编写任何跨平台的应用程序.但是,每当我来路径等工作时,我总是想知道如果我需要交叉编译到Mono,我应该做些什么才能让我的生活变得更轻松.
我理解GUI可能是一个问题.如果可能的话,我想在我正常的Windows编码中尝试使用良好的跨平台实践.
是否需要注意任何ADO问题?
人们遇到了哪些问题以及如何解决这些问题?
我很想知道是否有人知道.Net框架(任何版本)的任何其他.Net实现,而不是Microsoft的Mono项目.
我记得读过Java中的一个版本(当时是.Net 1.0),但我记得现在叫它的是什么.虽然有趣的想法.
我还读过一本杂志,如果你是注册的Wii开发者甚至是iPhone,Mono可以在Wii上运行吗?
我试图在C#中创建一个Windows Media Player(WMP)可视化插件.我很陌生将C#暴露给COM并且可能错过了一些基本的东西.我坚持了3天(大约20个小时)并没有超过我将在下面描述的单个问题.
对于那些不知道的人来说,WMP可视化是在播放音乐时在媒体播放器中显示的漂亮图像.
简而言之:WMP将在我的C#COM接口上调用某些方法,而不是其他方法.
我安装了WMP 11
我下载了最新的Windows SDK,其中包含一个C++插件向导,用于编译可操作的可视化示例.此示例在WMP中注册并正常运行.
开发工具包包含一个名为effects.h的C++头文件,其中包含2个必须实现的接口才能使插件与WMP一起使用.它看起来并不复杂得多.
他们来了
MIDL_INTERFACE("D3984C13-C3CB-48e2-8BE5-5168340B4F35")
IWMPEffects : public IUnknown
{
public:
virtual /* [helpstring][local] */ HRESULT STDMETHODCALLTYPE Render(
/* [in] */ TimedLevel *pLevels,
/* [in] */ HDC hdc,
/* [in] */ RECT *prc) = 0;
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MediaInfo(
/* [in] */ LONG lChannelCount,
/* [in] */ LONG lSampleRate,
/* [in] */ BSTR bstrTitle) = 0;
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCapabilities(
/* [out] */ DWORD …Run Code Online (Sandbox Code Playgroud) 任何人都可以帮我解决这个小问题.
XML
<MPN>
<MTR MSN="AB123456"/>
<MTR MSN="AB654321"/>
<MTR MSN="AB654322"/>
<MTR MSN="AB654323”/>
<MTR MSN="AB654324"/>
<JOB JobId="136">
<JMR MSN="AB123456">
<JRA DateActionRequiredBy="20090701120012" />
</JMR>
<JMR MSN="AB654321">
<JRA DateActionRequiredBy="20090701100010" />
</JMR>
</JOB>
</MPN>
Run Code Online (Sandbox Code Playgroud)
我想从JRA元素中检索DateActionRequiredBy,当解析器位于MTR元素时,只应返回一个.
我试过了.
../JOB/JMR[@MSN = @MSN]/JRA/@DateActionRequiredBy
Run Code Online (Sandbox Code Playgroud)
返回{Dimension:[2]} NodeSet,由于@MSN属性有效地匹配自身而不是父级,因此匹配所有内容.
../JOB/JMR[@MSN = ./@MSN]/JRA/@DateActionRequiredBy
Run Code Online (Sandbox Code Playgroud)
返回{Dimension:[2]} NodeSet
我找到了一个解决方案,但它需要在每个xsl:属性中都有一个变量,这对我来说似乎不对.
<xsl:variable name="storeMSN" select="@MSN"/>
../JOB/JMR[@MSN = $storeMSN]/JRA/@DateActionRequiredBy
Run Code Online (Sandbox Code Playgroud)
返回 20090701120012属性
这就是我所追求的,但除了每个属性的变量之外,必须有一种更简单的方法来实现这一点.
提前致谢.
.net ×3
c# ×2
attributes ×1
com ×1
definition ×1
interop ×1
media-player ×1
shim ×1
terminology ×1
vocabulary ×1
xml ×1
xpath ×1
xslt ×1