小编Thi*_*a H的帖子

该进程无法访问该文件,因为该文件正由另一个进程使用

我正在尝试读取log4net的日志文件:

FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)
Run Code Online (Sandbox Code Playgroud)

我得到了关于该主题的Exception.我想log4Net对文件保持独占锁定,但是,例如Notepad ++可以读取文件,我想技术上可以做到这一点.

有帮助吗?

c#

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

为什么编译器会自动转换而不进一步继承?

当我尝试运行以下代码片段时,它正在执行错误的重载方法.我很困惑为什么这样做? [ testB.TestMethod(testValue)方法执行 public double TestMethod(double value)方法]

public class TestA
{
    public int TestMethod(int value)
    {
        return value;
    }
}

public class TestB : TestA
{
    public double TestMethod(double value)
    {
        return value;
    }
}

static void Main( string[] args )
{
    TestB testB = new TestB();

    int testValue = 3;

    testB.TestMethod(testValue);
}
Run Code Online (Sandbox Code Playgroud)

你对此有什么想法吗?

有没有办法通过TestB实例调用TestA类方法而不强制转换为TestA.

但它不会发生在JAVA和C++中

.net c# oop wpf inheritance

22
推荐指数
2
解决办法
437
查看次数

C#中的匿名类型

// x is compiled as an int 
var x = 10;

// y is compiled as a string 
var y = "Hello";

// z is compiled as int[] 
var z = new[] { 0, 1, 2 };
Run Code Online (Sandbox Code Playgroud)

// ano is compiled as an anonymous type 
var ano = new { x1 = 10, y1 = "Hello" };
Run Code Online (Sandbox Code Playgroud)

ano创建的对象属性是只读的.我想弄清楚为什么这些属性是只读的.建议表示赞赏?

编辑:

var ano1 = new { x1 = 10, y1 = "Hello" };

var ano2 = new { x1 = …
Run Code Online (Sandbox Code Playgroud)

c# var anonymous-types

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

如何将任何应用程序的选定文本添加到Windows窗体应用程序中

这就是我想要做的,

当用户通过双击鼠标选择任何正在运行的应用程序的任何单词(文本)时,应将特定突出显示的单词插入已经运行的Windows应用程序中.

到目前为止,我已经使用Global Keystroke用户必须触发CRT+ C键盘组合键将所选单词复制到win表单应用程序中来实现逻辑.

我想知道的是有没有办法将这些选定的文本放入应用程序而无需按键盘按键?

c# clipboard hook winforms

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

单元测试和实体框架

我是EF的新手,我想知道用SQL Server数据库创建EF的最佳方法是什么.之后我想测试CRUD操作.EF是以TDD方式实现的,我对这些存储库模式,模拟上下文,假模式等感到困惑.

EF中的CRUD操作,会测试所有内容吗?(DbContext,SaveChanges()......需要测试吗?)

那么任何想法如何使用基于Entity Framework的组件进行单元测试?(我在Visual Studio 2012,ASP.NET MVC4中检查所有这些)

c# unit-testing entity-framework repository-pattern asp.net-mvc-4

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

仅从FileItem的名称中提取文件名

在apache commons文件中,上传上传的文件可用作FileItem对象.
如果我通过使用fileitem.getName()它获得此类文件项的名称,则返回完整路径(例如:)C:\Test\test.txt.

有没有办法只获取文件名.
我真正需要的是将上传的文件保存为临时文件,File.createTempFile()
但临时文件的名称和扩展名应与上传的文件相同,而不是随机名称(如temp.tmp)

java servlets apache-commons

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

在c#中覆盖Json属性名称

我有一个包含以下字段的课程.当需要调用外部rest API方法时,这些属性用于序列化为json对象.

public class Customer
    {
        [JsonProperty(PropertyName = "email")]
        public string Email { get; set; }

        [JsonProperty(PropertyName = "prop[listId]")]
        public string Test{ get; set; }

        // there are lot of properties 
    }
Run Code Online (Sandbox Code Playgroud)

在属性名称中Test,外部API服务调用需要一些像json文件名格式之类的东西.

prop[7]
Run Code Online (Sandbox Code Playgroud)

在我的情况下,这7可以根据test,dev和prod等环境进行更改.所以我正在寻找将listId值移动到app.config中的方法.

我试图按照以下方式执行此操作,但不允许这样做.因为listIdValue如果指定常量值,它将起作用.

     private string listIdValue = ConfigurationManager.AppSettings["ListIdValue"];

     [JsonProperty(PropertyName = "prop["+listIdValue +"]")]
     public string Test{ get; set; }
Run Code Online (Sandbox Code Playgroud)

c# json

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

驱动程序和提供程序之间

数据库中的驱动程序和提供程序有什么区别?是否有任何解释将不胜感激.

样本:ADO.NET driver for MySQLvsproviderName="System.Data.EntityClient"

.net c# sql oracle

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

使用反射来获取INotifyPropertyChanged通知的属性的实际值?

我正在开发一个项目,INotifyPropertyChanged用于宣布对订阅者类的属性更改.

void item_PropertyChanged(object sender, PropertyChangedEventArgs e)
    {
        if (e.PropertyName == "Quantity")
....
Run Code Online (Sandbox Code Playgroud)

在我看来,当订阅类收到通知时,它可以获得的唯一可用值是属性的名称.有没有办法获得具有属性更改的实际对象的引用?然后我可以从引用中获取此属性的新值.也许用反射?

有人会介意编写代码片段来帮助我吗?非常感激.

c# reflection inotifypropertychanged

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

WPF:实现和绑定(datagrid)到自定义集合

我有一个自定义集合,我将其传递给WPF客户端,该客户端将集合绑定到datagrid使用AutoGenerateColumns="True".但是,数据网格显示空行(尽管空行数正确).我究竟做错了什么?以下是一些示例代码.现在我已经省略了所有与之相关的内容INotifyPropertyChanged,INotifyCollectionChanged因为我首先想要在网格中显示一些数据.

我还要提一下,我已尝试实现上述两个接口,但它们似乎与此问题无关.

(您可能实际上不想查看示例代码,因为它没有什么有趣的.集合实现只是包装内部List.)

一些随机的POCO:

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

简单的集合实现:

public class MyCollection<T> : IList<T>
{
    private List<T> list = new List<T>();

    public MyCollection()
    {
    }

    public MyCollection(IEnumerable<T> collection)
    {
        list.AddRange(collection);
    }

 #region ICollection<T> Members

    public void Add(T item)
    {
       list.Add(item);
    }

    public void Clear()
    {
       list.Clear();
    }

    public bool Contains(T item)
    {
        return list.Contains(item);
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

.net c# data-binding collections wpf

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