小编mea*_*nny的帖子

如何将正则表达式分组到第9个反向引用之后?

好的,所以我试图在记事本++中超越第9个反向引用.维基说我可以使用组命名来超过第9个引用.但是,我似乎无法正确地进行匹配.我开始只用两组来简化.

样本数据

1000,1000
Run Code Online (Sandbox Code Playgroud)

正则表达式.

(?'a'[0-9]*),([0-9]*)
Run Code Online (Sandbox Code Playgroud)

根据文档我需要做以下事情.

(?<some name>...), (?'some name'...),(?(some name)...)
Names this group some name.
Run Code Online (Sandbox Code Playgroud)

但结果却是找不到我的文字.有什么建议?

regex notepad++ regex-group

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

.NET Remoting,将对象传递给方法

我正在编写.NET Remoting应用程序.我的dll,服务器和客户端都正常工作.但是,当我尝试更改我的方法调用以获取对象参数而不是像int这样的简单类型时,它会抱怨此错误.

键入System.Runtime.Remoting.ObjRef及其中的类型(例如System.Runtime.Remoting.ObjRef)不允许在此安全级别进行反序列化.

方法是这样的.

public List<Orders> GetOrders(int UserID) { //Works

public List<Orders> GetOrders(Users user) { // Doesnt Work

[Serializable]
public class Users : MarshalByRefObject {
Run Code Online (Sandbox Code Playgroud)

现在我已经创建了User类,[Serializable]并给它MarshalByRefObject继承.这可能是我的问题吗?我试过从User类中删除[Serializable]并且它抱怨因为它无法解释它.

编辑 好的,这是我的客户端方法.

IChannel channel = new TcpClientChannel();
ChannelServices.RegisterChannel(channel, false);
CustomType Server = (CustomType)Activator.GetObject(typeof(CustomType), "tcp://localhost:9934/CustomType");
Run Code Online (Sandbox Code Playgroud)

这是我的服务器.

BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel = TypeFilterLevel.Full;
IDictionary props = new Hashtable();
props["port"] = 9934;
TcpChannel channel = new TcpChannel(props, null, provider);
ChannelServices.RegisterChannel(channel);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(CustomType), "CustomType", WellKnownObjectMode.Singleton);
Console.WriteLine("Server is initialized");
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

.net c# remoting serializable

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

如何在C#中从MySQL中检索tinyint的数据类型?

所以在C#中每当我从MSSQL数据库中检索一个tinyint时,我就使用了以下转换.

(int)(byte)reader["MyField"];
Run Code Online (Sandbox Code Playgroud)

但是,这个演员似乎在MySQL中不起作用.

我试过了什么

(byte)reader["MyField"];
Run Code Online (Sandbox Code Playgroud)

只是

(int)reader["MyField"];
Run Code Online (Sandbox Code Playgroud)

编辑1

例外

The specified cast is not valid.
Run Code Online (Sandbox Code Playgroud)

编辑2

这是数据类型.

{Name = "SByte" FullName = "System.SByte"}
Run Code Online (Sandbox Code Playgroud)

c# mysql tinyint

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

如何在Eclipse中设置Zend Debugger?

我正在尝试设置我的第一个PHP开发环境,我遇到了很多问题,使Debug环境工作或更准确地命中断点.

这就是我所做的

1.)确认php正在Windows上的Apache服务器上运行.我这样做是通过创建一个带有phpinfo()的测试index.php文件来实现的.

2.)我已将Zend Debugger安装到Eclipse中.

3.)我已使用以下代码设置我的php.ini文件.

[Zend]
zend_extension_ts="c:/php/ext/ZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1/32
zend_debugger.expose_remotely=always
Run Code Online (Sandbox Code Playgroud)

4.)我已经在windows防火墙中为调试器打开了一个端口,在我的例子中,Eclipse说Zend正在使用10000.

5.)我已将dummy.php文件添加到我的文档根目录中.

6.)在完成所有这些之后我重新启动了Apache.

7.)当我在eclipse中测试我的调试器时,我收到以下错误消息.

Zend错误

8.)当我查看建议的部分时.我明白了

在此输入图像描述

php eclipse debugging zend-framework

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

如何配置我的ASP.NET目录以允许编写日志文件?

好的,我相信我在这里做的很容易.我编写了一个ASP.NET网页,它只是试图写入本地目录.

我使用以下代码:

System.IO.File.WriteAllLines("log.txt", messages);
Run Code Online (Sandbox Code Playgroud)

我抛出以下异常.

Access to the path 'c:\windows\system32\inetsrv\log.txt' is denied.
Run Code Online (Sandbox Code Playgroud)

我的ASP.NET应用程序位于以下目录中.

c:\inetpub\wwwroot\sites\mysite\
Run Code Online (Sandbox Code Playgroud)

所以当我不提供该目录时,我很困惑为什么它试图写入c:\ windows\system32\inetsrv \目录.

我已经尝试将代码更改为以下,但它给了我与新目录相同的错误消息.

System.IO.File.WriteAllLines("c:\\inetpub\\wwwroot\\sites\mysite\log.txt", messages);
Run Code Online (Sandbox Code Playgroud)

编辑1

很难接受这方面的答案,因为每个人都真的帮了我一大堆.我接受了tom_yes_tom的答案,因为他是第一个发布他的回答的人,这是我问题的前半部分.我的另一半问题与法布里奥指出的hbrock解决方案有关.

c# asp.net iis

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

如何保持属性内联属性?

我想找到一种方法来告诉visual studio将我的属性保存在我的类中与属性内联.一个例子.

[DataMember] int ID { get; set; }
[DataMember] public int DivisionID { get; set; }
[DataMember] public string Name { get; set; }
[DataMember] public int MyID { get; set; }
[DataMember] public string ContactName { get; set; }
Run Code Online (Sandbox Code Playgroud)

但是,如果我手动修改类并点击保存它自动调整文件看起来像这样.

[DataMember] 
int ID { get; set; }
[DataMember] 
public int DivisionID { get; set; }
[DataMember] 
public string Name { get; set; }
[DataMember] 
public int MyID { get; set; }
[DataMember] 
public string ContactName { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# attributes visual-studio-2010

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

WinForms ElementHost错误

我正在WinForms应用程序的一侧构建一组WPF控件,以便我最终可以将整个项目转换为WPF.我正在使用WinForms ElementHost模块并在其中设置我的WPF控件.

这是我的问题,我已经通过ElementHost在WinForms应用程序上托管了大量的WPF控件.但是,我遇到了这个控件,它告诉我:

Error setting value'Assembly.MyCustomControl' to property 'Child'. Details: 
Could not load type 'Assembly.MyCustomControl' from assembly 'Assembly'......
Run Code Online (Sandbox Code Playgroud)

我再一次以同样的方式将几个其他控件加载到这个项目中.托管控件的库绝对没有错误.我在这里亏本.

在我尝试将ElementHost设置为控件后,此错误也会在WinForms设计器上显示.

at System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type)
at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
at System.UnitySerializationHolder.GetRealObject(StreamingContext context)
at System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object component, Object value)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializePropertyAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement, CodePropertyReferenceExpression propertyReferenceEx, Boolean reportError)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement)
at System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement) 
Run Code Online (Sandbox Code Playgroud)

编辑

我稍后会将此作为答案发布,但重新启动Visual Studio修复了问题...

wpf elementhost winforms

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

如何在Build之后运行Android模拟器?

所以我已经成功下载了源代码,成功构建了它,并且可以成功运行模拟器.然而它永远不会引导到实际图像中.相反,我看着终端,它给了我以下错误.

OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x2deae10
OpenGL Warning: Retry with 0x105 returned 1 visuals
Failed to create Context 0x3005
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.
destroyOpenGLSubwindow not implemented for separate renderer process !!!
createOpenGLSubwindow not implemented for separate renderer process !!!
repaintOpenGLDisplay not implemented for separate renderer process !!!
createOpenGLSubwindow not implemented for separate renderer process !!!
repaintOpenGLDisplay not implemented for separate renderer process !!!
Run Code Online (Sandbox Code Playgroud)

我在Virtual Box中运行Ubuntu 10.04.启用3D加速功能,至少16GB的RAM专用于盒子.

基本上,模拟器只是坐在那里一段时间,然后在模拟器窗口周围绘制一个红色矩形.

opengl android-emulator android-build ubuntu-10.04

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

typeof和在比较对象类型时有什么区别?

可能重复:
类型检查:typeof,GetType还是?

所以我在比较一个Control的类型,我想我可以做这样的事情.

if (control[0].GetType() is TSendForReview)
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下警告.

The given expression is never of the provided ('MyApp.Controls.TSendForReview') type    
Run Code Online (Sandbox Code Playgroud)

因此,如果我将其切换到此警告就会消失.

if (control[0].GetType() == typeof(TSendForReview))
Run Code Online (Sandbox Code Playgroud)

这个警告究竟意味着什么,以及在比较控件类型时typeof和之间的区别是什么.

c# controls types

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

如何从新的Compose窗口获取Outlook.MailItem?

我试图MailItem从我的加载项捕获对象.我试过看,Globals.FormRegions但没有真正到达任何地方.任何线索如何Outlook.MailItem在新的Compose窗口中访问?

c# vsto outlook-addin outlook-2010

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

为什么我的代理人只使用我的foreach循环中的最后一项?

场景:我正在构建一个调度系统和每个计时器事件,我想运行一个自定义方法而不是通常的Timer.Elapsed事件.

所以我写了这样的东西.

foreach (ScheduleElement schedule in schedules) {
    TimeSpan timeToRun = CalculateTime(schedule);
    schedule.Timer = new Timer(timeToRun.TotalMilliseconds);
    schedule.Timer.Elapsed += delegate { Refresh_Timer(schedule); };
    schedule.Timer.AutoReset = true;
    schedule.Timer.Enabled = true;
}
Run Code Online (Sandbox Code Playgroud)

确实如此简单,实际上确实创造了我的计时器.但是,我希望每个已发生的事件都使用它传入的schedule元素运行.我的问题是,为什么Elapsed事件只传递每个Timer.Elapsed事件的for循环中的最后一个ScheduleElement.

现在我知道是什么修复它,我只是不确定为什么.如果我回滚到原始的Timer.Elapsed事件并使用我自己的类扩展Timer类,我可以解决它.像这样.

修复:

foreach (ScheduleElement schedule in schedules) {
    TimeSpan timeToRun = CalculateTime(schedule);
    schedule.Timer = new TimerEx(timeToRun.TotalMilliseconds);
    schedule.Timer.Elapsed +=new System.Timers.ElapsedEventHandler(Refresh_Timer);
    schedule.Timer.Tag = schedule;
    schedule.Timer.AutoReset = true;
    schedule.Timer.Enabled = true;
}
Run Code Online (Sandbox Code Playgroud)

然后我把它object sender放回原来的物体,然后把它Tag从它上面剥下来,这给了我每个独特计时器的正确时间表.

再说一遍,为什么在所有Timers的foreach循环delegate { }中使用最后一个传递ScheduleElement

编辑1

Timer类

public TimerEx : …
Run Code Online (Sandbox Code Playgroud)

c# delegates timer

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

为什么我的报告在设置报告参数时会抛出异常?

好吧,我的情况是我在表单上有一个报表查看器,它根据选择连接多个报表.我将所有报告设置为构建操作的嵌入式资源.

在设置参数之前,我正在加载这样的报告.

myReportViewer.LocalReport.ReportEmbeddedResource = "MyApp.MyReport1.rdlc";
Run Code Online (Sandbox Code Playgroud)

要么

myReportViewer.LocalReport.ReportEmbeddedResource = "MyApp.MyReport2.rdlc";
Run Code Online (Sandbox Code Playgroud)

这种情况很奇怪.假设我运行应用程序并首先选择MyReport1并运行它.该报告是保存参数的报告.MyReport2没有任何参数,只有数据源.MyReport1将正确加载,一切运行完美.然后,我可以切换到MyReport2,并根据需要在两个报告之间来回切换.

假设我先运行MyReport2.它正确加载,我可以多次运行它.但是,如果我切换回MyReport1,它会在尝试设置参数时抛出以下异常.

An attempt was made to set a report parameter 'TotalTime' that is not defined in this report.
Run Code Online (Sandbox Code Playgroud)

看看这个异常我会假设MyReport1由于某种原因没有加载.当我设置LocalReport.ReportEmbeddedResource时.什么会导致MyReport1无法正确加载只是因为我没有先使用它?

这是代码,我当然修剪了一些我无法展示的作品.

if (ReportComboBox.SelectedItem.ToString() == "Time by user") {
     myReportViewer.LocalReport.DataSources.Clear();
     ReportDataSource datasource = new ReportDataSource();
     datasource.Name = "DataSet1";
     datasource.Value = DataSet1BindingSource;
     myReportViewer.LocalReport.DataSources.Add(datasource);
     try {
          myReportViewer.LocalReport.ReportEmbeddedResource = "";
          myReportViewer.LocalReport.ReportEmbeddedResource = "MyApp.MyReport1.rdlc";
          ReportParameter test = new ReportParameter("TotalTime", total.ToString("c"));
          myReportViewer.LocalReport.SetParameters(test);
          myReportViewer.RefreshReport();
     } catch (Exception ex) { 

     }
} else if (ReportComboBox.SelectedItem.ToString() == "Time - Everyone") …
Run Code Online (Sandbox Code Playgroud)

c# reportviewer reportparameter

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