我试图通过向其他开发人员提供代码片段来补充我的代码的帮助功能。这些生成的代码骨架演示了如何使用/调用我的类或方法。
我创建了一个.snippet文件并将其放置在“ %Visual Studio Folder%\Code Snippets\Visual Basic\My Snippets ”文件夹中。我使用了代码片段管理器并确保它包含此文件夹,以便我可以访问代码片段。
当我在根 CodeSnippets 标签中有 1 个 CodeSnippet 标签时,一切都会正常工作......
当我向文件添加多个 CodeSnippet 标签(每个标签都有自己的标题和自己的代码示例)时,我遇到了一些奇怪的情况。
我添加的第一个 CodeSnippet 包含用于向系统添加某些内容的代码,第二个包含用于编辑系统中某些内容的代码,第三个包含用于从系统中删除某些内容的代码。
当我通过右键单击并选择“插入代码片段”来使用代码片段时,只有文件中的第一个代码片段显示为选项。当我选择它时,第一个 CodeSnippet 中的代码被插入......但其他 CodeSnippet 标签中的代码也是如此。
您是否必须为您想要提供的每个代码片段拥有一个单独的 XML .snippet文件?
在阅读完 MSDN 有关创建代码片段的内容后,我的印象是这一切都可以在一个文件中完成。
看来我在这里不理解一些非常基本的东西,并且很想找到答案,但显然代码片段未得到充分使用,因此事实证明找到答案比我最初想象的要棘手一些。
谢谢,
-弗林尼
如何在运行时将EditorAttribute(Editor)添加到对象的属性?
我有My.Settings.ExcludeFiles,由设置设计师创建Public Property ExcludedFiles() As Global.System.Collections.Specialized.StringCollection.ExcludedFiles通过属性网格进行编辑时,"字符串集合编辑器"会生成"未找到类型'System.String'上的构造函数"运行时异常.
我无法更改属性的ExcludeFiles属性,因为它们将在下次进行任何设置更改时被覆盖.因此,我必须在运行时附加/添加Editor/EditorAttribute.
我想要做的是添加StringCollectionEditorat运行时,如下所示为design-time属性.
<Editor(GetType(StringCollectionEditor), GetType(UITypeEditor))> _
Run Code Online (Sandbox Code Playgroud)
TypeDescriptor.AddAttributes( _
GetType(Specialized.StringCollection), _
New EditorAttribute( _
"System.Windows.Forms.Design.StringCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", _
GetType(System.Drawing.Design.UITypeEditor)))
Run Code Online (Sandbox Code Playgroud)
您只需添加此属性一次,例如应用程序初始化.
更灵活.请参阅下面的Nicolas Cadilhac 在运行时(动态)添加编辑器/ EditorAttribute到对象属性的答案.它使用派生的CustomTypeDescriptor和TypeDescriptionProvider类.您只需添加一次提供程序,例如应用程序初始化.
我需要将两个DataViews一起添加到一个Dataview,然后可以绑定到Repeater.
我正在插入其他人的API,因此我无法更改在SQL级别检索数据的方式.
所以基本上我想这样做:
DataView dView1 = getActiveModules();
DataView dView2 = getInactiveModules();
ModuleView = dView1 + dView2;
rptModules.DataSource = ModuleView.Tables[0];
rptModules.DataBind();
Run Code Online (Sandbox Code Playgroud)
视图的两个模式只是检索活动和非活动模块.
有任何想法吗?
谢谢.
我创建了以下函数来确定两个日期之间的MAX日期.运行函数注释中的一个SELECT语句大约需要00.030到00.050秒.
有更好的表现和更清洁的方式吗?
/* Returns the greater of two dates.
SELECT dbo.fnMaxDate(NULL , NULL)
SELECT dbo.fnMaxDate('1/1/2011', NULL)
SELECT dbo.fnMaxDate(NULL , '1/1/2011')
SELECT dbo.fnMaxDate('1/1/2011', '1/1/2011')
SELECT dbo.fnMaxDate('1/2/2011', '1/1/2011')
SELECT dbo.fnMaxDate('1/1/2011', '1/2/2011')
*/
ALTER FUNCTION dbo.fnMaxDate
(
@Date1 DATETIME,
@Date2 DATETIME
)
RETURNS datetime
AS
BEGIN
DECLARE @Result DATETIME
IF @Date1 IS NULL AND @Date2 IS NULL
SET @Result = NULL;
ELSE IF @Date1 IS NULL
SET @Result = @Date2
ELSE IF @Date2 IS NULL
SET @Result = @Date1
ELSE
IF @Date1 >= …Run Code Online (Sandbox Code Playgroud) [DebuggerDisplayAttribute("{_name}")]
Run Code Online (Sandbox Code Playgroud)
VS
[DebuggerDisplay("{_name}")]
Run Code Online (Sandbox Code Playgroud)
有区别吗?一个是别人的别名吗?当使用名为foo的属性时,VS是否自动检查名为fooAttribute的类?
我无法读取<add name="ReleaseVersion" value="4"/>下面app.config中的value属性.我完全失去了.我怀疑XPath值或Key值.
<Target Name="xxx"
DependsOnTargets="CopyFilesToOutputDirectory" >
<ItemGroup>
<_DestinationAppConfigFile Include="@(AppConfigWithTargetPath->'$(OutDir)%(TargetPath)')" />
</ItemGroup>
<MSBuild.ExtensionPack.Xml.XmlFile TaskAction="ReadAttribute"
File="%(_DestinationAppConfigFile.FullPath)"
XPath="/configuration/system.diagnostics/switches/add[@name='ReleaseVersion']/@value"
Value="$(ReleaseVersion)" />
<Error Condition = " '$(ReleaseVersion)'=='' "
Text="Failed to read attribute." />
<Message Text="ReleaseVersion: $(ReleaseVersion)"
Importance="high" />
</Target>
Run Code Online (Sandbox Code Playgroud)
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.diagnostics>
<switches>
<!-- ReleaseVersion (Conditional release switch); 0- = PRODUCTION, 1 = MIRROR, 2 = EMERGENCYRELEASE, 3 = USERACCEPTANCETESTING, 4 = QA, 5 = DEVELOPMENT, 6 = DRN DEVELOPMENT -->
<add name="ReleaseVersion" value="4"/>
<!-- Stop (Stops execution …Run Code Online (Sandbox Code Playgroud) 如果我返回值0.0042并将其传递给:
的String.Format( "{0:C}",...);
当我希望它实际显示时,它显示$ 0作为结果:
$ 0.0042
我创建了一个按钮,我需要它来重新启动表单我不知道如何处理visual basic我应该写什么
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End Sub
Run Code Online (Sandbox Code Playgroud) 假设我有一个像UnauthorizedAccessException这样的系统异常以及我自己编写的异常.是否有必须使用的特定订单才能捕获异常?我猜它仍然是从最具体到最不具体的?
谢谢 :)
我有以下课程:
class MyClass{
{
Run Code Online (Sandbox Code Playgroud)
和以下字符串:
string s="MyClass";
Run Code Online (Sandbox Code Playgroud)
如何使用字符串s获取类的类型:
Type t = typeof(MyClass); //but i need to use s instead.
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了
Type type = Type.GetType(s); //the result is null
Run Code Online (Sandbox Code Playgroud) .net ×4
attributes ×2
c# ×2
vb.net ×2
winforms ×2
ado.net ×1
asp.net ×1
currency ×1
dataview ×1
format ×1
intellisense ×1
msbuild ×1
my.settings ×1
propertygrid ×1
t-sql ×1