小编Fel*_* D.的帖子

我应该在方法结束时停止秒表吗?

让我们假设我们使用简单的测量 Stopwatch

public void DoWork()
{
    var timer = Stopwatch.StartNew();
    // some hard work
    Logger.Log("Time elapsed: {0}", timer.Elapsed);
    timer.Stop(); // Do I need to call this?
}
Run Code Online (Sandbox Code Playgroud)

根据MSDN:

在典型的秒表场景中,您调用Start方法,然后最终调用Stop方法,然后使用Elapsed属性检查已用时间.

当我不再对定时器实例感兴趣时,我不确定是否应该调用此方法.我应该"清理"使用Stop方法吗?

编辑

请记住,Logger.Log(..)不需要任何费用,因为在记录器记录之前timer.Elapsed会读取它.

.net c# stopwatch

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

获取我的C#应用​​程序的版本?

我正在研究桌面应用程序.我已经创建了一个设置.

防爆.我的应用程序.版本是1.0.0.

我想得到我的桌面应用程序的当前版本1.0.0.我试过使用Application.ProductVersion但它提供了我的控件的版本.(我使用的是DevExpress Control15.2.7,因此它提供当前版本15.2.7).

如何获取已安装应用程序的当前版本?我想将它与已安装的版本进行比较,以便为我的产品提供"新版本可用"功能.

c# windows version

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

从会话中获取文件时出现"无法访问已关闭的文件"错误消息

我有一个asp.net FileUpload控件.我可以在会话中成功上传文件到存储,但是当我想要获取其输入流(我在HttpPosterFile中存储文件)时,我收到错误

无法访问已关闭的文件

tr.PostedFile //<== HttpPostedFile; 
byte[] byteArray = null; 
using (var binaryReader = new BinaryReader(tr.PostedFile.InputStream)) 
{ 
    byteArray = binaryReader.ReadBytes(tr.PostedFile.ContentLength); 
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net file-upload httppostedfile

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

在Xamarin Forms中获取缓存图像源的原始高度和宽度

有没有其他方法可以访问CachedImage的ImageInformation中的OriginalHeight和OriginalWidth,除了检查成功加载如下?

CachedImage img = new CachedImage() 
{ 
    CacheType = FFImageLoading.Cache.CacheType.Memory 
};
img.Source = GetNextImage();
img.Success += (sender, e) =>
{
    h = e.ImageInformation.OriginalHeight;
    w = e.ImageInformation.OriginalWidth;

    if (Device.Idiom == TargetIdiom.Phone)
    {
        if (h > w)
        {
            img.HeightRequest = 400;
        }
    }
    if (Device.Idiom == TargetIdiom.Tablet)
    {
        if (h > w)
        {
            img.HeightRequest = 800;
        }
     }            
 };
Run Code Online (Sandbox Code Playgroud)

c# image xamarin.forms

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

DataGrid WPF 中的 DataGridTemplateColumn 列跨度

我正在制作 UI,如下图所示。

数据网格 它是一个DataGrid,Itemsource绑定到一个List。我无法ColumnSpan设置TextBox. 首先,我尝试使用 aUserControl但无法修复 DataGridTemplateColumn 标题,然后尝试使用 DataGridTemplateColumn.CellTemplate 但无法设置ColumnSpan.

有什么方法/方法可以制作这种数据网格吗?

先感谢您。

c# wpf datagrid

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

SignalR:/ signalr/abort抛出错误

Refused to execute script from '.../signalr/abort?transport=webSockets&clientProtocol=1.5&callback=jQuery32109752453231046265_1507885522267&_=1507885522271' because its MIME type ('') is not executable, and strict MIME type checking is enabled.

为清楚起见,移除了一部分URL.

我有Microsoft.Owin.Host.SystemWeb(3.1.0)的最后一个稳定版本jquery.signalR-2.2.2.js.我正在使用CORS.

/signalr/start 工作得很好.

有任何想法吗?

jquery cors signalr owin

6
推荐指数
0
解决办法
432
查看次数

使用可变属性名称反序列化 JSON

我想从这里反序列化 json。

与此类似:

{
"BW": {
    "Neujahrstag": {
        "datum": "2017-01-01",
        "hinweis": ""
    },
    "Heilige Drei K\u00f6nige": {
        "datum": "2017-01-06",
        "hinweis": ""
    },
    "Gr\u00fcndonnerstag": {
        "datum": "2017-04-13",
        "hinweis": "Gem\u00e4\u00df \u00a7 4 Abs. 3 des Feiertagsgesetzes von Baden-W\u00fcrttemberg[10] haben Sch\u00fcler am Gr\u00fcndonnerstag und am Reformationstag schulfrei. In der Regel legt das Kultusministerium die Ferientermine so fest, dass diese beiden Tage in die Osterferien bzw. in die Herbstferien fallen."
    },
    "Karfreitag": {
        "datum": "2017-04-14",
        "hinweis": ""
    }
},
"BY": {
    "Neujahrstag": { …
Run Code Online (Sandbox Code Playgroud)

c# json json.net

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

如何在git中控制同一项目的多个框架版本

假设我有一个Project电话Tools.

工具ClassLibrary包含ExtensionMethods,Helpers等.

不同的产品使用不同的引用工具在各种.net框架版本中编译.

我已经和TFS合作了很长时间,所以我在迁移到git时遇到了问题.

在此输入图像描述

这是我在磁盘上的结构,也是Visual Studio中的"Source Control Explorer".

我习惯使用Visual Studio GUI来跨分支合并和分支变更集.

在此输入图像描述

我无法使用git创建类似的环境.我可以从一个分支来回推动另一个分支.

我希望只有一个"工具"存储库,同时将不同的分支存储在磁盘上(签出或不签出).

.net git version-control

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

使用c#合并文件夹中的Word文档

我目前有一个窗口形式,当按下按钮时,会将 3 个单独的单词 docx 合并到一个组合文件中。

 private void button1_Click(object sender, EventArgs e)
    {

            string document1 = @"C:\Test\Test1.docx";
            string document2 = @"C:\Test\Test2.docx";
            string document3 = @"C:\Test\Test3.docx";

            string[] documentsToMerge = { document1, document2, document3 };

            string outputFileName = String.Format(@"C:\Test\Merge\Combined.docx", Guid.NewGuid());

            MsWord.Merge(documentsToMerge, outputFileName, true);}
Run Code Online (Sandbox Code Playgroud)

但是,我想选择包含文件夹(“C:\Test”)而不是每个单独的文件。这将允许我组合更多文件,而无需将它们单独编码到程序中,这将使其在使用时更加实用。

是否有任何建议如何实现这一目标?

public static void Merge(string[] filesToMerge, string outputFilename, bool insertPageBreaks, string documentTemplate)
    {
        object defaultTemplate = documentTemplate;
        object missing = System.Type.Missing;
        object pageBreak = Word.WdBreakType.wdSectionBreakNextPage;
        object outputFile = outputFilename;

        // Create a new Word application
        Word._Application wordApplication = new …
Run Code Online (Sandbox Code Playgroud)

c# merge ms-word

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

如何从Xamarin.Forms中的NavigationStack中删除模态页面

这是我的一个例子Navigation:

LoginPage ( Login_Click  ) -> MainPage   | Block BackButton
MainPage  ( Logout_Click ) -> LoginPage  | Block going back to the MainPage
Run Code Online (Sandbox Code Playgroud)

目前我使用此代码显示MainPage成功登录后.

 await Navigation.PushModalAsync(new MainPage());
Run Code Online (Sandbox Code Playgroud)

希望用户通过点击PreviousButton(Android)返回到LoginPage返回.

退出时的故事相同.

有没有办法在成功登录后从NavigationStack中删除LoginPage(并在注销时删除MainPage)?

注意:

这是模态的.我没有使用NavigationPage.

c# navigation android xamarin xamarin.forms

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