小编Ben*_*ack的帖子

Silverlight 4和XBAP

我只是想知道Silverlight 4是否会完全取代XBAP!就像完全信任XBAP一样,我们可以用当前的Silverlight 4做任何事吗?任何意见?.

silverlight silverlight-4.0

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

这是RegEx用于匹配Excel公式中的任何单元格引用吗?

我一直在尝试创建一个正则表达式模式,匹配任何Excel公式中的任何引用,包括绝对,相对和外部引用.我需要返回整个引用,包括工作表和工作簿名称.

我无法找到有关Excel A1表示法的详尽文档,但经过大量测试后我确定了以下内容:

  • 公式前面带有等号"="
  • 公式中的字符串用双引号括起来,在查找实际引​​用之前需要删除,否则=A1&"A1"会破坏正则表达式
  • 工作表名称最长可达31个字符,不包括\ /?*[]:
  • 外部引用中的工作表名称必须以bang成功 =Sheet1!A1
  • 外部引用中的工作簿名称必须括在方括号中 =[Book1.xlsx]Sheet1!A1
  • 如果引用是封闭工作簿中的范围,则Excel添加的工作簿路径始终用单引号括起来,并且括在工作簿名称括号的左侧 'C:\[Book1.xlsx]Sheet1'!A1
  • 某些字符(例如,不间断的空格)导致Excel将工作簿和工作表名称用单引号括在外部引用中,但我不知道具体哪些字符 ='[Book 1.xlsx]Sheet 1'!A1
  • 即使启用了R1C1表示法,Range.Formula仍会以A1表示法返回引用.Range.FormulaR1C1返回R1C1表示法中的引用.
  • 3D参考样式允许在一个工作簿上使用一系列工作表名称 =SUM([Book5]Sheet1:Sheet3!A1)
  • 命名范围可以在公式中指定:
    • 名称的第一个字符必须是字母,下划线字符(_)或反斜杠(\).名称中的剩余字符可以是字母,数字,句点和下划线字符.
    • 您不能将大写和小写字符"C","c","R"或"r"用作已定义的名称,因为它们都用作选择当前所选单元格的行或列的简写.在名称或转到文本框中输入它们.
    • 名称不能与单元格引用相同,例如Z $ 100或R1C1.
    • 空格不允许作为名称的一部分.
    • 名称最长可达255个字符.
    • 名称可以包含大写和小写字母.Excel不区分名称中的大写和小写字符.

以下是我提出的用于测试的VBA程序.我更新了代码以处理名称:

Sub ReturnFormulaReferences()

    Dim objRegExp As New VBScript_RegExp_55.RegExp
    Dim objCell As Range
    Dim objStringMatches As Object
    Dim objReferenceMatches As Object
    Dim objMatch As Object
    Dim intReferenceCount As Integer
    Dim intIndex As Integer
    Dim booIsReference As Boolean
    Dim objName As Name
    Dim booNameFound As Boolean …
Run Code Online (Sandbox Code Playgroud)

regex excel vba excel-formula

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

我如何使用LINQ和字符串解析完成此示例?

我正在尝试编写一个简单的程序来比较单独文件夹中的文件.我目前正在使用LINQ to Objects来解析文件夹,并希望在我的结果集中包含从字符串中提取的信息.

这是我到目前为止所拥有的:

FileInfo[] fileList = new DirectoryInfo(@"G:\Norton Backups").GetFiles();

var results = from file in fileList
              orderby file.CreationTime
              select new { file.Name, file.CreationTime, file.Length };

foreach (var x in results)
    Console.WriteLine(x.Name);
Run Code Online (Sandbox Code Playgroud)

这会产生:

AWS025.sv2i
AWS025_C_Drive038.v2i
AWS025_C_Drive038_i001.iv2i
AWS025_C_Drive038_i002.iv2i
AWS025_C_Drive038_i003.iv2i
AWS025_C_Drive038_i004.iv2i
AWS025_C_Drive038_i005.iv2i    
...
Run Code Online (Sandbox Code Playgroud)

我想修改LINQ查询,以便:

  • 它只包含实际的"备份"文件(您可以告诉备份文件,因为_C_Drive038上面的示例中,但038 驱动器号可能会更改).
  • 如果文件是"主"备份文件(即_i0XX文件名末尾没有),我想要包含一个字段.
  • 我想要包含文件的"图像编号"(例如,在这种情况下它是038).
  • 我希望包含增量编号,如果它是基本文件001的增量(例如,将是增量编号)

我相信查询的基本布局如下所示,但我不确定如何最好地完成它(我有一些关于如何做到这一点的想法,但我有兴趣听到其他人如何可能会这样做):

var results = from file in fileList
              let IsMainBackup = \\ ??
              let ImageNumber = \\ ??
              let IncrementNumber = \\ ??
              where …
Run Code Online (Sandbox Code Playgroud)

c# regex linq linq-to-objects parsing

5
推荐指数
2
解决办法
1146
查看次数

我何时应该谨慎使用.NET中的数据绑定?

我大约一个月前刚刚开始研究.NET程序员的一个小团队,最近我们与团队领导讨论了为什么我们的代码中根本不使用数据绑定.每次我们使用数据网格时,我们遍历数据表并逐行填充网格; 代码通常看起来像这样:

Dim dt as DataTable = FuncLib.GetData("spGetTheData ...")
Dim i As Integer

For i = 0 To dt.Rows.Length - 1 '(not sure why we do not use a for each here)'
  gridRow = grid.Rows.Add()
  gridRow(constantProductID).Value = dt("ProductID").Value
  gridRow(constantProductDesc).Value = dt("ProductDescription").Value
Next

'(I am probably missing something in the code, but that is basically it)'
Run Code Online (Sandbox Code Playgroud)

我们的团队负责人说,在九十年代使用Sheridan Grid控件,VB6和ADO记录集时,他使用数据绑定进行了刻录.他不确定究竟是什么问题,但他记得绑定没有按预期工作,并给他带来了一些重大问题.从那时起,他们就不会信任数据绑定并手动加载所有控件的数据.

对话甚至出现的原因是因为我发现数据绑定非常简单,并且非常喜欢将数据表示(在本例中为数据网格)与内存数据源(在本例中为数据表)分开.将数据逐行"加载"到网格中似乎打破了这种区别.我还观察到,随着WPF和Silverlight中XAML的出现,数据绑定似乎是必须的,以便能够用您的数据干净地连接设计者的XAML代码.

我应该何时在.NET中使用数据绑定时要小心?

.net vb.net data-binding winforms

5
推荐指数
2
解决办法
915
查看次数

是否有内置的.NET方法来获取对象的所有属性和值?

比方说我有:

public class Item
{
    public string SKU {get; set; }
    public string Description {get; set; }
}

....
Run Code Online (Sandbox Code Playgroud)

在.NET中是否有一个内置方法可以让我获取i类型变量的属性和值,Item如下所示:

{SKU: "123-4556", Description: "Millennial Radio Classic"}
Run Code Online (Sandbox Code Playgroud)

我知道.ToString()可以重载以提供此功能,但我不记得这是否已在.NET中提供.

.net c#

5
推荐指数
2
解决办法
116
查看次数

什么是用于连接和声明事件的C#代码的VB.NET等价物?

我正在制作一个在Silverlight中构建媒体播放器教程,我正在尝试连接到一个对象EventHandlertimer.Tick事件,DispatchTimer以便视频的时间与一个Slider对象同步.

示例代码是在C#中,我不能在我的生活中找出VB.NET中的正确语法RaiseEvent和/或Handles连接事件.以下是相关的C#代码.我会在我被困的地方加上评论.

private DispatchTimer timer;

public Page()
{
    //...
    timer = new DispatchTimer();
    timer.Interval = TimeSpan.FromMilliseconds(50);
    timer.Tick += new EventHandler(timer_Tick); // <== I get stuck here b/c
        // I can't do "timer.Tick += ..." in VB.NET
}

void timer_Tick(object sender, EventArgs e)
{
     if (VideoElement.NaturalDuration.TimeSpan.TotalSeconds > 0)
     {
         sliderScrubber.Value = VideoElement.Position.TotalSeconds /
             VideoElement.NaturalDuration.TimeSpan.TotalSeconds;
     }
}
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net silverlight events

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

注册时,顺序是否重要,COM互操作的gac-ing程序集?

为COM Interop注册.NET程序集时,我做了两件事,目前按此顺序:

regasm /tlb:MyDll.tlb Mydll.dll

gacutil /i Mydll.dll
Run Code Online (Sandbox Code Playgroud)

我用来regasm为COM注册类型库gacutil并将程序集安装到GAC中.我做这两项行动的顺序是否重要?另外,当我对我的dll进行更新时,是否需要取消注册并重新注册,从gac中卸载并重新安装,两者都兼有?

.net com interop assemblies gac

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

VB.NET与C#中的属性实现的多级继承

假设我有2个接口定义如下:

public interface ISkuItem
{
    public string SKU { get; set; }
}

public interface ICartItem : ISkuItem
{
    public int Quantity { get; set; }
    public bool IsDiscountable { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我在C#中实现接口时,VS会生成以下模板化代码:

public class CartItem : ICartItem
{

    #region ICartItem Members

    public int Quantity { get {...} set {...} }

    public bool IsDiscountable { get {...} set {...} }

    #endregion

    #region ISkuItem Members

    public string SKU { get {...} set {...} }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

在VB.NET中,同样的类是这样构建的:

Public Class …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net oop inheritance

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

如何将字符串评估为 VBA 中的对象?

在我之前的问题中,如何为 VBA 中在运行时提供属性名称的属性赋值?,我学会了在运行时使用 CallByName 在类中设置属性。

然而,这一次,我试图弄清楚如何在运行时从字符串中获取对象。

例如,假设我有一个包含以下数据的字符串:Worksheets("RAW DATA").Range("A1").QueryTable.

这是我可能会尝试做的事情,上面的数据是strParam下面的输入:

Function GetObject(strParam As String) As Object
    GetObject = SomeFunction(strParam)
End Function
Run Code Online (Sandbox Code Playgroud)

在这种情况下,GetObject 在对 进行评估时应该返回一个 QueryTable Worksheets("RAW DATA").Range("A1").QueryTable。VBA 中有什么东西可以代替SomeFunction上面的例子吗?

excel vba

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

将文件内容输出到powershell主机窗口

这似乎应该是显而易见的事情,但无论出于何种原因,我都无法弄清楚。在 powershell 中,我希望能够将文本文件的内容打印到主机窗口(或将其通过管道传输到另一个命令中)。我正在寻找这样的东西:

PS C:\> {some command} README.TXT
These are the contents of the Readme.txt file!
Run Code Online (Sandbox Code Playgroud)

powershell

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