小编Sco*_*ski的帖子

从方法中检索调用方法名称

可能重复:
如何找到调用当前方法的方法?

我在对象中有一个方法,从对象中的许多地方调用.是否有一种快速简便的方法来获取调用此流行方法的方法的名称.

伪代码示例:

public Main()
{
     PopularMethod();
}

public ButtonClick(object sender, EventArgs e)
{
     PopularMethod();
}

public Button2Click(object sender, EventArgs e)
{
     PopularMethod();
}

public void PopularMethod()
{
     //Get calling method name
}
Run Code Online (Sandbox Code Playgroud)

在内部,PopularMethod()我希望看到Main它是否被调用的价值Main......我想看看" ButtonClick"是否PopularMethod()被调用ButtonClick

我在看,System.Reflection.MethodBase.GetCurrentMethod()但这不会让我得到调用方法.我看过这个StackTrace类,但是每次调用该方法时我都不喜欢运行整个堆栈跟踪.

c# reflection methods calling-convention

57
推荐指数
5
解决办法
7万
查看次数

列出当前为复制MS-SQL发布的所有表

我需要获取从MS-SQL数据库发布以进行复制的所有表的列表.是否有系统存储过程或我可以运行的查询来生成这样的列表?

t-sql sql-server replication publish-subscribe

24
推荐指数
2
解决办法
6万
查看次数

用于C#编程的XML注释技巧

早上好,下午好,晚上好或晚上好(取决于你的时区).

这只是关于C#中XML注释的一般问题.我从来没有对评论我的程序做过很大的贡献,我一直都是一个冗长的变量/属性/方法名称,让代码说明一切.如果我编写的内容相当令人困惑,我会写评论,但在大多数情况下,我不会写很多评论.

我正在阅读有关.NET,Sandcastle和codeplex上的帮助文件构建器中的XML注释的文章,它让我想要记录我的代码并为那些必须深入研究我的人生成一些很好的,有用的文档.代码,当我不在这里.

我的问题是关于标准和惯例.是否有"好"XML评论指南?你应该评论每个变量和属性吗?每个方法?我只是在寻找有关如何编写好的注释的提示,这些注释将由sandcastle编译成良好的文档,以便其他程序员在最终不得不处理我的代码时不会诅咒我的名字.

提前感谢您的意见和建议,Scott Vercuski

c# documentation sandcastle documentation-generation xml-comments

15
推荐指数
2
解决办法
2791
查看次数

在流布局面板中重新排序控件

我在C#winform应用程序中使用flowlayoutPanel时遇到问题.我基本上有一个流程布局面板,有3个部分.

第1节是一组2个控件..两个下拉控件,它们总是以相同的顺序,在所有实例中始终可见

第2节是一组5个不同的控件......基于一系列因素,5个控件中的1个可见,所有其他控件的Visible属性设置为false

第3节是一组3个控件..就像第1节一样,它们始终处于相同的顺序并始终可见.

因此,归结为第2节是可变的,其他的是静态的.

问题来自第2节...当我改变任何控件的可见性时,它们看起来很好(IE ...第1节然后第2节然后第3节)...除了我将组合框控件设置为可见....在这种情况下,只有在这种情况下......订单变为(第1节然后第3节然后第2节)......我无法弄清楚是什么会导致订单在同步中不同步那种情况.

我在我的方法开头基本上做的是将ALL控件设置为Visible = false ...然后我设置Section 1 Visible = true ...然后循环第2节的条件并设置适当的控件Visible = true,最后set第3节控制Visible = true.

有没有人对流程布局面板控件排序有任何经验?我无法弄清楚ComboBox发生了什么.

controls combobox flowlayoutpanel winforms

13
推荐指数
2
解决办法
3万
查看次数

新的架构概念

我发布了这个社区维基,希望能够创建专业知识.因此我的问题是......"专家们去哪里了解最新的编码技术?".

我基本上都在寻找建筑,设计,开发和理论的领先优势.

我知道会议和贸易展览可能是看到最新和最好的最佳场所,但对于那些有限的预算(时间和金钱),比如我自己,我正在寻找我可以在晚上阅读的网站将让我了解世界上最新的事物.

我主要使用C#编程,但网站不需要面向C#.

architecture theory oop

13
推荐指数
1
解决办法
2368
查看次数

在.NET中创建CD/DVD ISO映像

我正在搜索一个库(或代码库),它允许使用.NET平台从CD/DVD创建ISO映像.

.NET框架本身是否支持ISO映像的创建?

我很感激任何建议.

.net c# cddvd

11
推荐指数
1
解决办法
1万
查看次数

将具有子对象的对象作为属性绑定到数据网格

我正在使用一个具有子对象的对象(参见下面的示例).我试图绑定List<rootClass>到数据网格.当我绑定List<>,在包含的单元格中subObject,我看到以下值... "namespace.subObject" ...,字符串值正确显示.

理想情况下,我希望看到subObjectdatacell中的"描述"属性.如何subObject.Description在datacell中映射显示?

public class subObject
{
   int id;
   string description;

   public string Description
   { get { return description; } }
}

public class rootClass
{
   string value1;
   subObject value2;
   string value3;

   public string Value1
   { get { return value1; } }

   public subObject Value2
   { get { return value2; } }

   public string Value3
   { get { return value3; } }
}
Run Code Online (Sandbox Code Playgroud)

c# binding datagrid object datagridviewcolumn

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

在c#中捕获特定与通用异常

这个问题来自针对我创建的对象的代码分析.分析说我应该捕获一个比基本异常更具体的异常类型.

您是否发现自己只使用捕获通用异常或尝试捕获特定异常并使用多个catch块默认为一般异常?

有问题的代码块之一如下:

internal static bool ClearFlags(string connectionString, Guid ID)
{
    bool returnValue = false;
    SqlConnection dbEngine = new SqlConnection(connectionString);
    SqlCommand dbCmd = new SqlCommand("ClearFlags", dbEngine);
    SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCmd);

    dbCmd.CommandType = CommandType.StoredProcedure;
    try
    {
        dbCmd.Parameters.AddWithValue("@ID", ID.ToString());

        dbEngine.Open();
        dbCmd.ExecuteNonQuery();
        dbEngine.Close();

        returnValue = true;
    }
    catch (Exception ex)
    { ErrorHandler(ex); }

    return returnValue;
}
Run Code Online (Sandbox Code Playgroud)

感谢您的意见

编辑:这是代码分析的警告

警告351 CA1031:Microsoft.Design:修改"ClearFlags(字符串,GUID)"捕获超过"异常"更具体的异常或重新抛出异常

c# coding-style exception-handling

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

Sourcesafe命令行选项

我遇到了Microsoft Visual Sourcesafe命令行选项的问题,我希望有人遇到过,可以帮助我.

我在DOS批处理文件中有以下行.

"c:\Program Files\Microsoft Visual SourceSafe\ss.exe" GET 
    "$/Development Projects/Activity" -GL"C:\Compile\Activity" -R -Q 
    -Yname,password
Run Code Online (Sandbox Code Playgroud)

在批处理文件中执行此行时,将出现以下提示...

将C:\ Compile\Activity设置为项目$ /开发项目/活动的默认文件夹?(是/否)

我需要禁止此提示,以使脚本无人参与运行.我认为-Q选项允许静默运行,但它不会抑制此提示.

我已经搜索过,似乎找不到会删除此提示的选项.我不想为项目设置默认文件夹,所以如果可能的话我想将答案默认为"N".

command-line suppression visual-sourcesafe prompt default-value

7
推荐指数
4
解决办法
2万
查看次数

文本框验证,焦点切换问题

早上好,

我正在使用一个C#winform应用程序,它正在使用控件的验证.我遇到的问题是,当用户点击文本框并尝试点击时,验证会触发并重新聚焦控件,基本上用户无法单击控件中的另一个控件.

我想要的结果是当用户单击提交按钮时,表单上的所有控件都会生效.我希望errorProvider图标出现在出错的字段旁边,并允许用户根据需要更正它们.

我的问题是,如何设置一个控件,以允许用户在出现错误时在其外部单击.我希望用户能够填写表单的其余部分并自行回到错误,而不是被迫立即处理它.

提前感谢您的任何帮助和建议,

c# validation controls focus winforms

6
推荐指数
3
解决办法
7364
查看次数