小编Pie*_*aud的帖子

如何确定字符串是否是C#中的数字

我正在开发一个工具,我需要将字符串值转换为正确的对象类型.例如,将字符串转换"2008-11-20T16:33:21Z"DateTime值.数值喜欢"42""42.42"必须转换成一个Int32值和Double分别值.

检测字符串是整数还是数字的最佳和最有效的方法是什么?是Int32.TryParseDouble.TryParse要走的路?

.net c# string value-type

11
推荐指数
2
解决办法
5017
查看次数

.NET 2.0:File.AppendAllText(...) - 线程安全实现

作为闲置好奇心的练习,请考虑以下简单的日志记录类:

internal static class Logging
{
    private static object threadlock;

    static Logging()
    {
        threadlock = new object(); 
    }

    internal static void WriteLog(string message)
    {
        try
        {
            lock (threadlock)
            {
                File.AppendAllText(@"C:\logfile.log", message);
            }
        }
        catch
        {
            ...handle logging errors...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

是否lock需要File.AppendAllText(...)通过自己的实现来保持本身的线程安全?

搜索有关这方面的信息会产生许多相互矛盾的信息,有些人说是,有些人说不.MSDN什么也没说.

c# file-io thread-safety .net-2.0

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

Z-stacking CSS 3 Flex盒:如何覆盖Flexbox项目的DIV?

在创建flexbox布局时没有设法堆叠div.它们要么在容器div中相互推送,要么我必须"position:absolute"在覆盖层上使用它从容器上下文中获取div.

z-indices似乎根本不起作用.

我正在使用chrome最新版本,并期待这种行为:http://dev.w3.org/csswg/css-flexbox/#painting

这是一个带有基本flexbox布局的plunker:http://plnkr.co/edit/o2BAwvg3XV4YjwAwwmYR?p =preview 来说明.

您必须.overlay在css 中的类定义中注释/取消注释定位.

css flexbox

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

ReflectionOnlyLoadFrom&Unload?

如果我这样做Assembly.ReflectionOnlyLoadFrom(),是否可以卸载组件?

或者,只有当它位于单独的AppDomain中时才可以卸载Assembly.LoadFrom()吗?

我有一个工具需要加载一个组件进行检查.

.net reflection

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

System.Windows.Forms.SaveFileDialog不强制执行默认扩展

我正在尝试对用户输入的文件名进行扩展SaveFileDialogFileOpenDialog强制执行.我已尝试使用问题389070中提出的示例,但它无法按预期工作:

var dialog = new SaveFileDialog())

dialog.AddExtension = true;
dialog.DefaultExt = "foo";
dialog.Filter = "Foo Document (*.foo)|*.foo";

if (dialog.ShowDialog() == DialogResult.OK)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

如果用户test在文件test.xml恰好存在的文件夹中键入文本,则对话框将建议名称test.xml(而我真的只想*.foo在列表中看到).更糟糕的是:如果用户选择test.xml,那么我确实会得到test.xml输出文件名.

如何确保SaveFileDialog真正只允许用户选择*.foo文件?或者至少,当用户点击时,它会替换/添加扩展名Save

建议的解决方案(实现FileOk事件处理程序)只执行部分工作,因为Save如果文件名具有错误的扩展名,我真的想要禁用该按钮.

若要保留对话框更新FileOk处理程序中文本框中显示的文件名,以反映具有正确扩展名的新文件名,请参阅以下相关问题.

c# savefiledialog winforms

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

目录安全

我的应用程序正在创建一个目录,以便我可以在其中存储日志文件.我正在为目录添加用户安全性,但我不知道如何使其传播.例如,我将用户添加everyone到目录中,并使用readwrite访问,但是当我的应用程序在此目录中创建日志文件时,日志文件未继承everyone安全性(读取,写入).

我错过了什么?

DirectorySecurity dirSec = Directory.GetAccessControl(_dbPath);
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.Write, AccessControlType.Allow));
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.ReadAndExecute, AccessControlType.Allow));
dirSec.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.CreateFiles, AccessControlType.Allow));
Directory.SetAccessControl(_dbPath, dirSec);
Run Code Online (Sandbox Code Playgroud)

c# security directory-security

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

intellisense中的自定义代码片段

我已经开始将一些常用的代码块导出到自定义代码段.有没有办法让这些显示在IntelliSense中,而不必使用上下文菜单或代码段管理器中的代码段浏览器?

起初,我认为这与ReSharper有关,但是当我禁用ReSharper IntelliSense时它们仍然没有出现.

能够只使用代码段快捷方式而不是使用浏览器会很高兴.

c# resharper visual-studio-2010 visual-studio code-snippets

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

typeof(T)可能返回null

typeof通过TypeBuilder创建的类型上使用运算符时,运算符将返回null.

我很好奇为什么会这样,以及如何防止它.


我开始认为这是即时窗口中的VS错误,但我不太确定.首先责怪别人很容易.

好的...重现问题的代码:

    static void Main()
    {
        AssemblyBuilder assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(
            new AssemblyName("MyAssembly"),
            AssemblyBuilderAccess.RunAndSave);
        ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule("MyModule");
        TypeBuilder typeBuilder = moduleBuilder.DefineType("MyType", TypeAttributes.Public, typeof(ArrayList));

        ArrayList o = (ArrayList)Activator.CreateInstance(typeBuilder.CreateType());

        Console.WriteLine(o.GetType().Name);
    }
Run Code Online (Sandbox Code Playgroud)

如果在变量之后放置断点otypeof(MyType)在VS立即Windows中键入,则会出现问题.

c# clr clr4.0

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

在Visual Studio 2010解决方案级别定位.NET框架的特定版本

我想在我的Visual Studio 2010解决方案中同时针对.NET 3.5和.NET 4.0.

我知道我可以<TargetFrameworkVersion />在我的项目文件中设置,但是这需要我在构建特定.NET框架版本的解决方案之前编辑每个项目文件.Scott Dorman提供了一个宏,可以在他的博客Visual Studio 2010和Target Framework Version上发挥作用.

我正在寻找一个全局解决方案,我不必在每个项目中更改设置.是否可以在解决方案级别更改中央设置以实现相同的目标?

.net visual-studio-2010

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

async/await和IDisposable接口

我有一个实现IDisposable接口的类来处理私有变量_MailMessage同一个类有一个使用私有IDisposable变量的异步方法,即async public Task<bool> Send我的问题是:在异步方法完成后,普通的IDisposable实现是否会处理私有变量?这是我正在谈论的课程的一个例子:

public class Email : IEmail
{
    private readonly IEmailData _EmailData;
    private MailMessage _MailMessage = new MailMessage();

    public Email(IEmailData emailData)
    {
        if (emailData == null)
        {
            throw new ArgumentNullException("emailData");
        }
        if (String.IsNullOrEmpty(emailData.To))
        {
            throw new ArgumentNullException("emailData.To");
        }
        if (String.IsNullOrEmpty(emailData.From))
        {
            throw new ArgumentNullException("emailData.From");
        }
        if (String.IsNullOrEmpty(emailData.FromName))
        {
            throw new ArgumentNullException("emailData.FromName");
        }
        if (String.IsNullOrEmpty(emailData.Subject))
        {
            throw new ArgumentNullException("emailData.Subject");
        }
        if (String.IsNullOrEmpty(emailData.Body))
        {
            throw new ArgumentNullException("emailData.Body");
        }

        _EmailData = emailData;
    }


    async public Task<bool> Send() …
Run Code Online (Sandbox Code Playgroud)

c# idisposable async-await

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