小编Dil*_*hod的帖子

什么是收藏类型名称中的'1

我想知道收集类型名称中的1个含义是什么?例如:List'1,IList'1有人知道那是什么吗?

c# generics collections

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

使用BindingOperations.EnableCollectionSynchronization

我有两个WPF应用程序"UI","调试器"和一个ClassLibrary"BL".UI对Debugger和BL的引用.调试器引用BL.我在BL中收集了名为MyCollection的集合.UI应用程序启动调试器应用程序,调试器绑定到BL中的集合MyCollection.当我尝试从UI应用程序更改MyCollection集合时,我遇到异常.

A first chance exception of type 'System.NotSupportedException' occurred in PresentationFramework.dll

Additional information: This type of CollectionView does not support changes to its SourceCollection from a thread different from the Dispatcher thread.
Run Code Online (Sandbox Code Playgroud)

我在google搜索并发现:BindingOperations.EnableCollectionSynchronization 我无法弄清楚如何使用它.我不想引用我的BL项目中的任何UI dll.任何人都可以帮助我吗?

谢谢您的帮助!

c# collections wpf multithreading observablecollection

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

检查List <T>中是否存在以下项目

我有一个字符串列表,我需要检查该列表中是否存在特定项目(不是一个项目).

List<string> strings = new List<string>() {"one","two","three","four","five" };
Run Code Online (Sandbox Code Playgroud)

我需要找出该列表中是否有"一个"和"三个".是否可以使用一个linq查询?

谢谢您的帮助!

c# linq

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

Entity Framework Core 具有多个值的 where 子句

我有一个表 Person,字段很少。我想在一次通话中从数据库中找到多个人,而不需要使用大量的“OR”。当我尝试以下查询时,我收到此错误。

var list = new List<string>(){"John", "Adam", "Bill", "David"};
context.People.Where(p=>list.Any(l=>l == p.Name)).ToList();
Run Code Online (Sandbox Code Playgroud)

错误信息:

System.InvalidOperationException:“无法翻译 LINQ 表达式 'DbSet .Where(p => __list_0 .Any(l => l == p.Name))”。以可翻译的形式重写查询,或者通过插入对 AsEnumerable()、AsAsyncEnumerable()、ToList() 或 ToListAsync() 的调用来显式切换到客户端计算。有关详细信息,请参阅 https://go.microsoft.com/fwlink/?linkid=2101038

我想我的查询无法翻译,但是还有其他方法吗?

提前致谢!

c# linq entity-framework-core

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

使用 .net core 进行内存泄漏测试

我正在做一个有很多类的大项目,这些类有传入的引用。在我们使用 .NET Framework 之前,我们使用 Wea​​kReference 类来查看对象是否被释放。最近我们将我们的项目迁移到 .net core 5,突然间,带有对象处理测试的测试开始失败。经过一些(实际上相当多)研究后,发现 WeakReference 的功能与它在 .NET Framework 中的方式不同。

        Student student = new Student();
        WeakReference weakRef = new WeakReference(student);
        student.Dispose();
        student = null;
        GC.Collect();
        GC.WaitForPendingFinalizers();
        GC.Collect();
        var isAlive = weakRef.IsAlive;
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以测试对象是否被正确处理?我可以在处理方法中放入某种日志,但这仍然不能保证对象已被处理。问题的目的不是测试 .net core 是否处理我的对象,我想知道是否有其他对象引用它阻止对象被处理。

PS:我还将 Thread.Sleep 与 while 循环一起放置,以查看该对象是否会在稍后处理,但即使在 30 分钟后也没有发生。

我尝试使用 JetBrains dotMemoryUnit,它的作用也与 WaekReference 相同。这是一个很好的工具,可以显示所有问题,并且解决问题的速度非常快。

c# memory-leaks

8
推荐指数
0
解决办法
64
查看次数

获取TFS组的成员

我为公司程序员创建了一个TFS组,我正在尝试获取该组程序员的列表.这是迄今为止我尝试过的.

  ICommonStructureService iss = (ICommonStructureService)tfsServer.GetService(typeof(ICommonStructureService));
  IGroupSecurityService gss = tfsServer.GetService<IGroupSecurityService>();

  Identity SIDS = gss.ReadIdentity(SearchFactor.AccountName, "Project Collection Valid Users", QueryMembership.Expanded);
  Identity[] _userIds = gss.ReadIdentities(SearchFactor.Sid, SIDS.Members, QueryMembership.None);

  var companyProgrammers = _userIds.Where(u=>u.MemeberOf.Contains("CompanyProgrammers")).ToList();
Run Code Online (Sandbox Code Playgroud)

该列表为空.

我错过了什么吗?

c# tfs tfs-sdk

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

如何知道child已添加到StackPanel中?

检测 child 何时添加的有效方法是什么StackPanel?我正在使用StackPanel作为示例,它可以是GridWrapPanel或从 Panel 派生的任何控件。

我正在尝试以两种方式添加控件。使用 XAML 和 AttachedProperty 的 PropertyChanged。

这是一些代码:

public class Region : UserControl
{
    public static readonly DependencyProperty RegionNameProperty;
    static Region()
    {
        RegionNameProperty = DependencyProperty.RegisterAttached(
        "RegionName",
        typeof(string),
        typeof(Region),
        new UIPropertyMetadata(new PropertyChangedCallback((s,e)=>
        {
            if(s is StackPanel)
            {
                 StackPanel stack = (StackPanel)s;
                 stack.Children.Add(new Button(){Content="Test2"});
            }
        }))
      );
   }
}
Run Code Online (Sandbox Code Playgroud)

XAML:

        <StackPanel Name="stack2" local:Region.RegionName="MyRegion1">
            <Button Content="Test 1"/>
        </StackPanel>
Run Code Online (Sandbox Code Playgroud)

在这里您可以看到按钮“测试 2”添加在按钮“测试 1”之前。

谢谢,

c# wpf

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

从同一个线程内部中止线程

我创建了一个线程A,并决定从线程A内部中止它.这可能吗?如果是这样我怎么能这样做?

谢谢您的帮助!

c# multithreading thread-abort

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

使用VNext构建后,TFS tbl_Content开始快速增长

我们一直使用旧版本(XAML)的版本直到一个月前,然后开始使用vNext版本.之后我发现TFS数据库中的tbl_Content表开始增长非常快.例如,在过去8小时内,它增长了10 GB,我无法弄清楚它为什么会这样做.有谁知道它是什么?

我说它是vNext构建的原因是因为我注意到它在我们升级之后开始增长,但我的方式是错的.我希望它不是试图存储我的构建输出或类似的东西.有没有办法知道tbl_Content表中的内容?他们可以删除吗?或者有没有办法从该表中删除一些东西而不会弄乱TFS?

tfs build

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

从Mercurial迁移到Git

我知道这个问题在几次之前被问过并标记为"可能重复",但它们似乎都没有正确.我试过快速导出,它给出了错误.任何人都可以帮助如何从Mercurial迁移到Git?我需要历史.如果逐步列出它将是值得赞赏的.

更新:

我试过快速出口:

cd ~
git clone git://repo.or.cz/fast-export.git
git init git_repo
cd git_repo
~/fast-export/hg-fast-export.sh -r /path/to/old/mercurial_repo **[I get error in this line]**
git checkout HEAD
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

..... hg-fast-export.sh:第79行:找不到python:command

谢谢您的帮助!

git version-control mercurial version-control-migration

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