小编lep*_*pie的帖子

继续不运行C#

请考虑以下代码

class Program
{

    static void Continue()
    {
        Console.Out.WriteLine("Continue t1"); 
    }

    static async Task AsyncStart()
    {
        Console.Out.WriteLine("AsyncStart"); 
        return;
    }

    static void Main(string[] args)
    {

        Task t3 = AsyncStart().ContinueWith((ant) => { Continue(); });

        Console.Out.WriteLine("BEFORE"); 
        Task.WhenAny(new Task[] { t3 });
        Console.Out.WriteLine("AFTER");
     }
 }
Run Code Online (Sandbox Code Playgroud)

输出是

AsyncStart
BEFORE
AFTER
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

继续没有运行!!!!

是的,我知道AsyncStart不包含任何等待(CS1998),但我仍然期望t3运行延续.我遗漏了一些非常基本的东西

c# asynchronous async-await

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

Serilog:{..}和{@ ..}之间的差异

鉴于此代码:

var d1 = new { x = 5, y = 88 };
Log.Logger.Information("{d1}", d1);
Log.Logger.Information("{@d1}", d1);
Run Code Online (Sandbox Code Playgroud)

如何在两个Log.Logger.Information(...)行中以不同方式记录d1中的对象?换句话说,在{}之间添加@的影响是什么?

我在"保留对象结构"标题下阅读了https://github.com/serilog/serilog/wiki/Structuredvals,但这对我来说没有意义.

.net serilog

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

如何删除make new folder FolderBrowserDialog

嗨我在visual studio 2013中使用了FolderBrowserDialog和wpf,但是我想删除按钮make new folder,因为在我的应用程序中没有意义,我看到这篇文章http://www.codeproject.com/Articles/14454/Extended-Folder-浏览器禁用此按钮,但我会删除此按钮

c# directory folderbrowserdialog

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

即时添加新的cs文件以加载我正在运行的应用程序?

我有一个命令处理程序,基本上这样工作:

ControlList.Handlers[CommandType.MyCommandComesHere].Handle(data);
Run Code Online (Sandbox Code Playgroud)

Handlers是一个Dictionary<CommandType, ICommandHandler>并且CommandType是一个枚举.

Handle 轮流将导致它:

using System;
using log4net;

namespace My_Application
{
    public class MyCommand : ICommandHandler
    {
        private static readonly ILog Logger = LogManager.GetLogger(typeof(MyCommand));

        public void Handle(Events data)
        {
            Console.WriteLine("I can load cs files on the fly yay!!");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何才能使我的应用程序编译并让我在运行时使用该cs文件?

任何简单的例子都会非常受欢迎,但不是必需的,只要我能得到一些关于我需要寻找什么的指示,因为我甚至不确定我需要做些什么来实现这一点.

为了简单起见,我目前正在尝试理解如何将cs文件加载到已经编译并且当前正在运行的应用程序中.

.net c#

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

如何在构建后事件中定义当前系统日期

我想将.dlls复制到格式为“ test \ Project_yyyy.mm.dd”的目标目录中,其中yyyy-当前年份,mm-当前月份,dd-当前日期。在发布后事件中输入以下命令时,出现错误。

xcopy /Y "$(TargetDir)*.*" test\Project_$(Year:yyyy).$(Month).$(DayOfMonth)
Run Code Online (Sandbox Code Playgroud)

我找不到任何定义当前日期的宏。有人可以帮我吗

msbuild

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

尝试在 Visual Studio 中静态链接 SDL

我正在使用 Microsoft Visual Studio 2013 Express for Windows Desktop,用 C++ 编写并使用 SDL 2.0.3 库。我正在尝试构建一个独立的.exe,它可以在其他计算机上运行而无需安装任何东西。

我已经按照TwinklebearDev 第 0 课:设置 SDL设置了我的项目。我链接到该库的 x86 版本,并将 x86 版本的 SDL2.dll 放置在 Debug 文件夹和 Release 文件夹中。这是源代码:

#include <iostream>
#include <SDL.h>

int main(int argc, char **argv){
    if (SDL_Init(SDL_INIT_EVERYTHING) != 0){
        std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
        return 1;
    }
    SDL_Quit();

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

这工作完美并返回 0,直到我尝试静态链接。我尝试通过右键单击项目并单击属性,然后设置以下内容来静态链接:

配置属性 > C/C++ > 代码生成 > 运行时库 > 多线程 (/MT)

然后我收到一堆错误:

警告 1 警告 LNK4098:defaultlib 'msvcrt.lib' 与其他库的使用冲突;使用 /NODEFAULTLIB:库 …

static-linking visual-c++ sdl-2

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

由 urlmon.dll 引起的“试图读取或写入受保护的内存”

我知道这已经被问过很多次了,但不幸的是我没有找到解决我的问题的方法,我正在使用urlmon.dll从字节数组中查找 MIME 类型,但我收到了 IIS 进程的崩溃w3wp.exe

尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

编码:

public static int MimeSampleSize = 256;

public static string DefaultMimeType = "application/octet-stream";

[DllImport(@"urlmon.dll", CharSet = CharSet.Auto)]
private extern static uint FindMimeFromData(
    uint pBC,
    [MarshalAs(UnmanagedType.LPStr)] string pwzUrl,
    [MarshalAs(UnmanagedType.LPArray)] byte[] pBuffer,
    uint cbSize,
    [MarshalAs(UnmanagedType.LPStr)] string pwzMimeProposed,
    uint dwMimeFlags,
    out uint ppwzMimeOut,
    uint dwReserverd
);

public static string GetMimeFromBytes(byte[] data)
{
    try
    {
        uint mimeType;
        FindMimeFromData(0, null, data, (uint)MimeSampleSize, null, 0, out mimeType, 0);

        var mimePointer = new IntPtr(mimeType);
        var mime = Marshal.PtrToStringUni(mimePointer); …
Run Code Online (Sandbox Code Playgroud)

c# iis urlmon

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

如何为notifyicon 制作菜单?

所以..我在谷歌上到处搜索,我看到了创建这个的不同方法..

但到目前为止,我还没有设法制作一个单一的工作菜单。

所以我想问一下,如何创建一个notifyIcon菜单?..(最好详细解释,因为我对此很陌生)

哪种方式最好,我应该使用哪种方式..(到目前为止,人们似乎总体上喜欢 contextmenu,但我能找到的只是 contextmenustrip,不确定它是否相同。)

目前我有一个表格,设置为visible = false, windowstate minimized, showintaskbar = false

这就是目前的全部内容。我想在更广泛之前先吃菜单。

感谢您为此付出的时间和精力(不确定它是否正确制定)

编辑:我似乎设法制作了一个菜单,但是我如何让它“出现”在我的通知图标上,它是一个 ContextMenu o_o

c# notifyicon

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

替换TextFile中的文本c#

替换文本文件中文本的最佳方法是什么?

  1. 我不想给文件一个新名字
  2. 我不希望文本成为一个长字符串,当我使用File.ReadAllText时会发生这种情况,因为它存储为字符串而我松散回车等...

另外,我想我会遇到使用StreamReader/StreamWriter的问题,因为你无法读取和写入同一个文件?

谢谢

.net c#

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

Magento条款和条件复选框未在结帐页面审核部分显示

我的网站是在Magento 1.8中创建的.它与我安装的所有扩展程序配合得很好,但是在结帐页面中有一个问题.

虽然我从管理员配置部分启用条款和条件,并从销售>条款和条件部分创建条款和条件,但它不会显示在结帐页面审核部分.

奇怪的是,当我点击"下订单"按钮时,它会显示消息"请在下订单前同意所有条款和条件.",但我看不到此复选框.

我通过禁用我在我的网站上安装的所有扩展程序来检查它,但仍然没有成功.

我还尝试检查app/code/core/mage/checkout/block/Agreement.php文件中的代码我发现它获取了我创建的条款和条件并传递给下面的函数,

$这个 - > setAgreements($协议);

但它在最后一行返回null

return $ this-> getData('agreements');

我不知道问题是什么?有没有人对此有所了解?请帮忙.

谢谢

checkout review magento conditional-statements

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