小编Ben*_*est的帖子

git add 在 .gitignore 排除的文件上

有没有办法在 git 中跟踪被 .gitignore 中存在的规则排除的新文件?我想这样做而不在我的 .gitignore 规则中添加单个文件/目录排除项。

git

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

暂时停止表单事件被提出或被处理?

我对表单上的控件有很多,并且有一个特定的时间我想暂停所有事件的处理.通常我只是做这样的事情,如果我不想处理某些事件:

private bool myOpRunning = false;

private void OpFunction()
{
    myOpRunning = true;
    // do stuff
    myOpRunning = false;
}

private void someHandler(object sender, EventArgs e)
{
    if (myOpRunning) return;
    // otherwise, do things
}
Run Code Online (Sandbox Code Playgroud)

但我有很多需要更新的处理程序.只是好奇.NET是否比更新每个处理程序方法更快.

.net c# events winforms

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

如何从C#注册/取消注册EXE作为COM对象?

编辑5/11/2013:这个问题最初询问如何使用.NET中的代码以编程方式注册COM对象,而不必使用REGASM.Yahia的答案涵盖了如何以编程方式注册DLL和EXE.

原始问题:目前,我们有一个批处理脚本,我们从UI调用,在设置默认版本(使用regasm和添加注册表项)时在COM中注册/取消注册我们的软件.我们不再希望使用批处理脚本,因为我们遇到了一个问题,如果脚本失败,程序就不会意识到失败.有几种方法可以解决这个问题,但我不喜欢从代码调用批处理脚本的概念,如果我不需要,所以我想切换到使用托管代码向COM注册我们的软件.

假设它是可能的,你如何从C#注册/注销COM对象?谷歌搜索只能找到从安装程序包中执行此操作的方法,或者告诉我使用regasm,但我无法找到有关如何以编程方式执行此操作的任何信息,或者甚至是否可能.

在此先感谢任何帮助.

编辑5/10/2013:将EXE注册为COM对象看起来与注册DLL不同..NET中是否有一种编程方式(PInvoke很好)将EXE注册为COM对象(在32位注册表中)?这是我们目前在脚本中的做法,app和REGCMD变量只是简写:

    set app=%PathToTheExecutable%
    set REGCMD=%PathTo32BitRegExe%
    "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\regasm" /tlb /codebase %app%
    %REGCMD% ADD HKCR\CLSID\{app-guid}\LocalServer32 /ve /t REG_SZ /d %app% /f
    %REGCMD% DELETE HKCR\CLSID\{app-guid}\InprocServer32 /f
Run Code Online (Sandbox Code Playgroud)

基本上我们在可执行文件上运行regasm,然后将我们的exe作为LocalServer32添加并删除将我们关联为InprocServer的条目.是否有可能以编程方式执行此操作而无需从代码中调用regasm?

.net c# com regasm

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

RecyclerView - 在Activity中获取Position而不是RecyclerViewAdapter

现在是我处理查看点击次数的第三天.我最初使用ListView,然后我切换到RecyclerView.我已经android:onclick为我的每个控件添加了元素row_layout,我在这样处理它们MainActivity:

public void MyMethod(View view) {}
Run Code Online (Sandbox Code Playgroud)

在我的旧ListView实现中,我已经完成setTag(position)了通过在其中MyMethod执行此操作来获取它:

Integer.parseInt(view.getTag().toString())
Run Code Online (Sandbox Code Playgroud)

这很好地没有问题.虽然现在我正在处理RecyclerView并被迫使用ViewHolder,但没有提供setTag方法.搜索了2个小时后,我发现人们使用setTag这样的:

holder.itemView.setTag(position)
Run Code Online (Sandbox Code Playgroud)

这是可以接受的.虽然当我尝试MyMethod使用该行从函数中获取值时:

Integer.parseInt(view.getTag().toString())
Run Code Online (Sandbox Code Playgroud)

应用程序崩溃.我已经阅读了适配器内部onclick处理的几个实现,但是我必须使用它,MainActivity因为我使用的是该活动所特有的东西.

TL; DR我想以MainActivity简单的方式将点击的行的位置发送给我.

编辑:我为这个混乱道歉,因为我的主题不是很彻底.我有一个RecyclerView适配器.适配器链接到我的row_layout.这个row_layoutxml有一个根LinearLayout.里面有一个TextView,另一个LinearLayout(有两个TextViews)和一个Button(为简单起见).我不想像处理点击RecylerView那样处理点击ListView.所以,我决定添加一个android:onclick用于每个控制,然后链接TextViewLinearLayout到一个单一的方法和链接Button(和将来ButtonS)其独特的方法.我缺少的是我希望能够在我的每个接收方法上说出立场MainActivity.如果我必须链接来自适配器的所有内容并进入MainActivity单个onclick处理程序,那就这样吧.虽然,我怎么知道哪个控件触发了点击? …

android android-viewholder android-recyclerview

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

在 Where-Object 条件之后获取第一个值

给出以下命令如何仅获取where条件后的第一个值?

Get-WinEvent -FilterHashtable @{Logname = 'Security';EndTime=$Time; ID = 5379} |
  select id , TimeCreated, @{ n='USER'; E ={ $_.Properties[1].Value}} |
  where USER -notlike 'condition'
Run Code Online (Sandbox Code Playgroud)

我试过了-MaxEvents 1-First 1但这仅适用于Select-Object,不适用于where.

powershell

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

从 PowerShell 对象生成 CLIXML 字符串,无需先序列化到磁盘

我有以下代码,它将一个对象导出到 XML 文件,然后将其读回并打印在信息流上。

try{
  # Sample object
  $Person = @{
    Name = 'Bender'
    Age  = 'At least 1074'
  }
  $Person | Export-CliXml obj.xml
  
  $cliXml = Get-Content -Raw ./obj.xml
  Write-Host $cliXml
} finally {
  if( Test-Path ./obj.xml ) {
    Remove-Item -Force ./obj.xml -EV rError -EA SilentlyContinue
    if( $rError ) {
      Write-Warning "Failed to remove ./obj.xml: $($rError.Exception.Message)"
    }
    Remove-Variable -Force $rError -EA Continue
  }
}
Run Code Online (Sandbox Code Playgroud)

有一个系统本地父会话,它监视其 STDOUT 以获取此输出,并将其重建为自己会话中的对象。

注意:我知道本地PSRemoting会话可以工作,但我需要它也可以在尚未配置或不会配置PSRemoting的系统上工作。

我想去掉中间人,而不是将对象写入磁盘。不幸的是,
Import-CliXMlExport-CliXml是名称中唯一带有 和 的 cmdlet …

powershell serialization powershell-core

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

从Visual Studio 2010 SP1中的VB.NET项目搜索引用时出现问题

我有一个非常大的解决方案,主要包含C#项目,一些C++/CLI和托管C++项目,以及一个VB.NET项目.但是,在搜索C#项目的引用时,我遇到的问题应该出现在VB.NET项目中.有两个主要问题:

  1. 我知道一个C#项目是从VB.NET项目中引用的,但它非常大,我不确定我需要查看的代码在哪里.如果我右键单击C#项目中的类名并单击"查找所有引用...",它会在解决方案的其他位置找到对项目的所有引用,但没有结果显示VB.NET项目的任何用法.但是,我可以通过使用"在文件中查找"功能找到对该类的任何引用,并按字符串查找对C#程序集的调用.为什么会这样,是否有一个我可以启用的设置,告诉VS 2010在从C#项目中查找引用时搜索VB.NET项目?

  2. 从VB.NET项目中,如果我右键单击一个Type并选择"Go to definition ...",并在C#程序集中定义Type,我得到对象浏览器而不是VS打开包含该文件的源文件类定义.

我强烈认为这些问题的原因是相关的,所以我将它们分成一个而不是两个问题.这个问题有点难以解释,所以如果需要澄清,请告诉我.

TL; DR; 有什么方法可以实现,所以我可以在VB.NET项目中找到对C#程序集的引用,并从VB.NET项目跳转到C#程序集中的定义?

c# vb.net visual-studio-2010 visual-studio

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

错误时跳过脚本的一部分

在这个问题上,我一直在撞墙一段时间.到目前为止,谷歌没有任何成功的结果.想知道是否有人可以帮助我?

# Load the PowerShell module for Active Directory
Import-Module ActiveDirectory

# For each computer in AD that is a member of the target group
Get-ADGroupMember -Identity "CN=RenameComputer,CN=Users,DC=int,DC=example,DC=com" | ForEach {

        # Define the new name as the old one, minus one letter at the end
        $NewComputerName = $_.Name -replace ".$"

        # Perform the rename operation
        Rename-Computer -ComputerName $_.Name -NewName $NewComputerName -Force -PassThru -Restart -WhatIf

        # Remove the computer from the target group
        # THIS SHOULD NOT OCCUR IF THE …
Run Code Online (Sandbox Code Playgroud)

powershell foreach if-statement try-catch active-directory

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

PowerShell 匹配字符串中的模式

相当愚蠢的问题,但我不知道如何做到这一点......

我从 获得操作系统名称Get-ADComputer,可以说:“Windows Server 2012 R2 Standard”。

我试图在构建中选择年份,例如:

"Windows Server 2012 R2 Standard" > 2012
"Windows Server 2019" > 2019
"Windows Server 2008" > 2008
"Windows Server 2008 R2" > 2008
Run Code Online (Sandbox Code Playgroud)

对 Regex 一窍不通……我该怎么做?

另外,是否有关于 Powershell 的 Regex 的很好的教程,您可以参考我吗?

string powershell

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

如何用C语言将浮点数组写入文件?

我有一个float数组,有 189 个元素(从索引 0 到索引 188)。我在将此数组写入文件时遇到问题。假设第一个元素是 45.6,第二个元素是 67.9,我希望我的输出文件如下所示:

\n
0, 45.6\n1, 67.9\n
Run Code Online (Sandbox Code Playgroud)\n

等等。我已经尝试了下面所示的函数,结果是我的输出文件中有奇怪的字符。

\n
0, 45.6\n1, 67.9\n
Run Code Online (Sandbox Code Playgroud)\n

我得到一个像这样的输出文件:

\n
\xef\xbf\xbd\'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xdb\xbdl^\xef\xbf\xbd\xef\xbf\xbd(\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd!>\n
Run Code Online (Sandbox Code Playgroud)\n

我也尝试过设置sizeof(slidingCorrelator)为 189,但这也没有帮助。

\n

c arrays

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