小编Mat*_*att的帖子

拆分.Net代码文件

这是我的第一个堆栈溢出问题,所以如果我没有正确发布,或者没有标记正确或其他什么,请告诉我.

对于那些好奇的人,在这个问题的最后是我想要这样做的一些背景知识.

我希望有人有一些想法,我可以轻松地获取代码文件,然后获取一个字符串数组,每个数组元素包含该代码文件中单个方法的内容.

我想要做的是能够轻松地将.Net代码文件解析为其独特的方法.从磁盘读取文件非常简单 - 解析以便我拥有每个方法的单独字符串,这是我正在寻找更好的方法.我将通过这个代码文件是VB,但理想情况下我希望看到这也适用于C#.对于VB方面,循环遍历每一行寻找方法声明的关键字,那么"end sub"和"end function"的下一个实例应该可以工作,但这不会轻易转换为C#.我也无法超越这种感觉必须有更好的方式 - 可能通过反思.

现在为后台:我最近发现当使用.ShowDialog调用windows窗体时,在完成表单后不会清理资源 - 你必须专门处理它.发现这是在我正在处理的应用程序中追踪内存泄漏.所以我需要的是跟踪调用showdialog的每个实例并且不调用dispose.代码搜索显示我有超过300个showdialog实例.通过每一个都有点乏味,并找出表格是否正确处理.如果我有所有方法的字符串,我可以只搜索包含showdialog而不是dispose的方法.这将给我一个非常有针对性的方向来清理这些东西,并给我一个我可以定期运行的工具,并找到可能已经将其引入代码的任何地方.

对不起,这里有长篇大论的帖子.任何和所有建议都非常感谢.

.net

3
推荐指数
1
解决办法
151
查看次数

WPF中的Dock和Anchor

我来自WinForms背景,我开始学习WPF.我在Pluralsight上经历了一系列教程,但在处理调整大小时遇到​​了一些困难.

调整大小时,我的文本框似乎没有按照我想要的方式"锚定".我将下面的xaml包含在其中的注释中,以了解我正在寻找的行为.任何有关最佳实践的反馈都将非常感谢.代码对我来说"感觉"有点尴尬,但我不确定这是因为它对我来说是新的,还是有更容易/更好的方法来做我正在尝试的事情.

无需加载下面的XAML即可了解事物的样子 - 这里是在调整表单屏幕截图之前和之后. 调整大小之前http://dboasis.com/screenshots/beforeresize.jpg 调整大小后http://dboasis.com/screenshots/afterresize.jpg

我希望看到如何处理调整大小问题的建议,以及看到我如何尝试在XAML中执行此操作后的最佳实践.

此外 - xaml确实实现了DevExpress控件 - 如果有人要我重做表单而不使用第三方控件以便他们更容易提出建议,我很乐意这样做.

<dx:DXWindow
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
    xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
    xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" x:Class="DXTemplateSandbox.MainWindow"
    Title="MainWindow" Height="437" Width="641">
<Grid>
    <dx:DXTabControl x:Name="tabcntMainTab">
        <dx:DXTabItem x:Name="tabUserList" Header="User List">
            <Grid Background="Transparent">

                <Grid.RowDefinitions>
                    <RowDefinition x:Name="SelectLabel" Height="30" />
                    <RowDefinition x:Name="OpenDataFile" Height="34" />
                    <RowDefinition x:Name="DataGridLayoutRow" Height="185*" />
                    <RowDefinition x:Name="AppPrefsInfo" Height="110" />
                </Grid.RowDefinitions>
                <StackPanel Grid.Row="1" Orientation="Horizontal" Margin="10,0">
                    <!-- 
                    The DataFileLocation not resizing the width.  How do I instead lock the vertical size, but allow width to
                    resize with form?
                    --> …
Run Code Online (Sandbox Code Playgroud)

c# wpf

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

如何在 Beyond Compare 中创建特定会话的快捷方式?

我正在使用文件夹和文件比较工具“Beyond Compare”

我存储了许多会话,并且希望能够创建直接指向会话的快捷方式。该程序确实提供了命令行支持,并且我能够创建一个批处理文件来启动所需的会话,但这样做感觉很过时。

有谁知道一种创建快捷方式来启动特定会话的方法,最好能够一次启动多个会话,而无需使用命令提示符来执行此操作?

beyondcompare beyondcompare4

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

将字符串与从光盘读取的文件进行比较时,Assert.AreEqual 失败

我正在编写一个代码生成器,它将接受一个数据表,并使用它将从它在数据表中找到的内容生成样板 c# 代码。

我正在创建 ac# 代码文件,并将其与代码生成器生成的字符串进行比较。

我从磁盘读取代码文件到一个字符串,并将其与生成的字符串进行比较,并将该字符串作为参数传递给 Assert.AreEqual - 失败。如果我将生成的字符串写出到文本文件并进行比较,文本看起来相同 - 但是文件大小略有不同,并且使用文件比较实用程序,文件末尾似乎有一个额外的大写 ascii 类型字符这是通过我的代码生成器创建的。

关于“upper ascii”字符,如果我将文件与十六进制编辑器进行比较,则在使用 Visual Studio 创建的文件的开头和结尾处有一些额外的十六进制值,这些值在我的应用程序创建的文件中不存在. 开头的那些十六进制值为:“EF BB BF”,末尾的值为:“0D 0A”。

另一个可能解释某些事情的线索:当我将生成的文件添加到 Visual Studio 中的项目时,我看到以下消息:“以下文件中的行尾不一致。是否要规范化行尾? ”

单元测试内容:

    [TestMethod]
    public void TestGenerateBDO()
    {

        const string originalCodePath = @"c:\temp\UnitTestGenerator\BugSource.cs";

        BusinessDomainGenerator generator = 
            new BusinessDomainGenerator(new System.Data.DataTable(), "BugsBDO", "Bug");

        // this adds the body of the text file
        AddTestGenerateBDOCodeLines(generator);

        // I've tried using the 2nd parameter of ReadAllText to pass
        //  different encodings - no difference
        string originalCode = System.IO.File.ReadAllText(originalCodePath);
        string formattedCode …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing assert

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

标签 统计

c# ×2

.net ×1

assert ×1

beyondcompare ×1

beyondcompare4 ×1

unit-testing ×1

wpf ×1