问题列表 - 第34251页

C#反射,改变方法的主体

是否可以在运行时更改方法体?

class Person
{
    public void DoSth()
    { Console.WriteLine("Hello!"); }
}
Run Code Online (Sandbox Code Playgroud)

我想有一个简单的输入字段(如文本框),我可以在运行时编写方法体源代码.

文本框可能包含以下数据:

for (int i = 0; i < 5; i++)
     Console.WriteLine(i);
Run Code Online (Sandbox Code Playgroud)

应该在什么时候进行

new Person().DoSth()
Run Code Online (Sandbox Code Playgroud)

叫做.

在C#(使用Reflection)中是否可以(或如何)?
感谢您的帮助.

编辑:
如果上述情况不可能,是否可以在运行时创建一个新方法并调用它?

c# code-generation

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

我应该提交Visual Studio生成的文件?

我面临的问题是,似乎Visual Studio生成的某些文件不是提交所必需的.

除了不提交的显而易见的事情,我不应该提交哪些其他文件?我需要提交.manifest文件等吗?

一种不同的说法:重新创建我正在处理的项目需要哪些文件,以及哪些文件可以自动生成?

谢谢!

c# version-control

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

将应用程序从Microsoft Access迁移到VB或C#.NET

我目前正试图说服管理层需要将我们的一个应用程序移植到.NET.该应用程序已成为Access(SQL中的后端)中的一个怪物,具有700个链接表,650个表单/子表单,130个模块和850个查询.

我非常了解这样做的所有主要好处,但现在需要了解如何在技术上实现这一点,因此我可以将项目计划放在一起.

所以,我的计划是将查询转换为后端的存储过程和/或视图,并在WPF或WinForms中重写表单.

现在,代码是我解开的地方.是否有可能将代码打包并将模块打包到dll中并在将它们慢慢移植到VB/C#时使用它们?

我们不能留下的是VB/C#中的一半应用程序和Access中的一半应用程序,它必须"出现"所有应用程序,甚至是迁移的一半.

提前致谢.

编辑:更多关于我们做什么以及为什么我们正在考虑远离Access的信息.

我们本质上是一个ISV,Access应用程序是我们的主要产品.该应用程序已经开发了15年,由许多开发人员临时开发.此应用程序没有文档.

我们在SCC中使分支机构正常工作时也存在问题,因此我们目前为我们拥有的六个客户端提供了4或5个代码库.最重要的是,我们所做的所有测试都是完全手动的,您可以想象这是非常耗费人力的,而且只是划分了真正需要测试的内容.

我们目前正在寻求扩展,并且拥有一些处于最后阶段的销售线索.我担心,随着这些新的销售,我们将被支持和测试淹没,而且这个应用程序将变得更加纠结于一辆车.

我还要补充一点,即我们即将进入一个全新产品的规格阶段,这几乎肯定是用.NET构建的.如果我们要在.NET中重写Access应用程序,那么我们用于此的人可以直接进入这个新的开发.如果我们留在Access中,那么我们必须得到一些新的Access人员,一旦我们开始新的开发,他们将不得不接受再培训.

所以基本上它已经归结为两种选择,在Access中进行主要的重构工作以尝试并"更好地"组织代码,而那些建议剔除部件的人最有可能是正确的; 我确定有些部件不再使用.但是,我担心如果我们留在Access,我们仍然无法建立有效的测试,我们仍然没有适当的SCC分支,这将导致支持继续成为一场噩梦,以及任何未来的发展产品料更糟糕.无论哪种方式,我们即将开始进行大量工作,这要么是在Acces中完成的,要么是在.NET中完成的.

c# vb.net migration ms-access

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

是否可以自动为SQL Server和LINQ to SQL中的所有表名添加前缀?

我正在开发一些所有需要数据库功能的ASP.NET MVC项目.不幸的是,我的托管服务提供商只给我两个SQL Server数据库,所以我想把多个项目的表放在一个数据库中.

但是,我的一些表名称相似,所以我可能遇到一些问题.因此,我试图找到一种方法来更改所有表的名称,以便它们反映它们所属的应用程序.

目前,我在项目A中有以下表格:

  • Table1
  • Table2

在项目B中,我有这些表格:

  • Table1
  • Table2

我想将表合并到一个数据库中:

  • ATable1
  • ATable2
  • BTable1
  • BTable2

我的问题

  1. 如何自动为SQL Server数据库中的所有表的名称添加前缀
  2. 是否可以让LINQ to SQL自动 Table1从我的代码映射ATable1BTable1(取决于它是什么应用程序)?

c# linq sql-server asp.net-mvc linq-to-sql

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

哪种图像格式包含元数据,如何在PHP中清除它?

隐私问题让我相信我应该为任何元数据擦除用户上传的图像.

我知道JPEG有EXIF,但我不确定PNG或GIF(两者都可以从公众上传到我的网站).

这些格式是否也有元数据,它是如何存储的?删除它的最佳方法是什么?

我正在使用PHP 5.29.

谢谢

php metadata image

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

i18n在JSF 2.0应用程序中使用UTF-8编码的属性文件

我正在使用jsf-ri 2.0.3,需要希伯来语和俄语支持.问题是我在屏幕上看到的是乱码而不是正确的文字.

首先,我为每种语言定义了包(*_locale.properties).这些文件采用UTF-8编码.其次,我在faces-config.xml中定义了默认和支持的语言环境

<locale-config>
    <default-locale>iw</default-locale>
    <supported-locale>en</supported-locale>
    <supported-locale>ru</supported-locale>
</locale-config>
Run Code Online (Sandbox Code Playgroud)

我添加了一个自定义过滤器,将响应字符编码设置为UTF-8.

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

最后当我创建一个简单的xhtml来调试输出时,我看到一个非常奇怪的结果

<f:loadBundle basename="i18n.frontend.homepage" var="msg"/>
<strong>i18n: </strong><h:outputText value="#{msg.language}"/>
<br/>
<strong>Locale: </strong>
<h:outputText value="#{facesContext.externalContext.response.locale}"/>
<br/>
<strong>Encoding: </strong>
<h:outputText value="#{facesContext.externalContext.response.characterEncoding}"/>
Run Code Online (Sandbox Code Playgroud)

结果是:

i18n: ×¢×ר×ת
Locale: en_US
Encoding: UTF-8 
Run Code Online (Sandbox Code Playgroud)

我的配置有什么问题?

java jsf utf-8 internationalization jsf-2

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

如何使用LINQ和lambda语法创建匿名类型?

我有一个使用lambda语法的LINQ查询:

var query =
    books
        .Where(book => book.Length > 10)
        .OrderBy(book => book.Length)
Run Code Online (Sandbox Code Playgroud)

我想创建一个匿名类型来存储投影,类似于:

var query = from book in books
            where book.Length > 10
            orderby book
            select new { Book = book.ToUpper() };
Run Code Online (Sandbox Code Playgroud)

如何在lambda语法中"选择新"?

谢谢,

斯科特

c# linq

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

如何避免在RSpec中"无用地使用== in void context"?

在RSpec中,如果我有警告并且有

x.should == 42
another_line_of_code
Run Code Online (Sandbox Code Playgroud)

然后我收到警告

warning: useless use of == in void context
Run Code Online (Sandbox Code Playgroud)

有什么我可以做的除外

  1. 关闭警告
  2. 将其更改为 bitbucket = (x.should == 42)

ruby warnings rspec

14
推荐指数
3
解决办法
7412
查看次数

Xalan 2.7中缺少字符串函数,而是使用了java.lang.String?

我正在使用Xalan 2.7.0(与Apache FOP 1.0捆绑在一起)并且在使用字符串函数时遇到问题.

该行<xsl:value-of select="fn:replace('test', 't', '*')"/>导致此异常:

javax.xml.transform.TransformerException: java.lang.IllegalArgumentException: argument type mismatch
    at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:302)
Run Code Online (Sandbox Code Playgroud)

<xsl:value-of select="fn:string-length('foobar')"/> 结果是:

javax.xml.transform.TransformerException: java.lang.NoSuchMethodException: For extension function, could not find method java.lang.String.stringLength([ExpressionContext,] ).
    at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:302)
Run Code Online (Sandbox Code Playgroud)

现在这很奇怪!为什么Xalan会寻找一个stringLength函数java.lang.String?我测试了<xsl:value-of select="fn:substring('foobar', 2, 3)"/>,确实:结果是o,所以参数被用作startIndex, endIndex(比如java.lang.String.substring())而不是XPath的fn:substring(string, start, length)函数.

所以我认为Xalan在某种程度上错过了它的XPath函数库,而是使用了常规的String类.我通过调用不存在的函数fn:index-of('foobar', 'bar')来确认这一点,该函数工作正常并映射到java.lang.String.indexOf(str).

为什么Xalan会这样做?我该如何解决?

系统信息:Xalan使用标准的Mac OS X 10.6.4 Java版本1.6.0_20.

更新

好吧,replace()暂时搁置这个功能.作为一个XSLT 1.0处理器,Xalan不应该实现XPath 1.0函数子字符串 (string, startIndex, length)而不是(string, startIndex, endIndex) …

xslt xpath function xalan

4
推荐指数
2
解决办法
8771
查看次数

多线程和SMP Linux

据说Linux内核是SMP.据说进程和内核线程应该跨处理器分布.

  1. 是否所有Linux发行版都像fedora13,ubuntu 10.04 Lucid默认启用SMP Linux?

  2. 在SMP Linux上,最好遵循a)多进程方法而不是b)多线程方法

  3. 默认情况下,pthread是否会创建内核级线程,以便任何应用程序都可以利用LWP和SMP?

如果没有,如何使用Pthreads创建内核级线程.任何参考将非常感谢.

linux multithreading posix smp

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