草庐IT

修改频段

全部标签

c# - 如何使用 PostSharp 修改方法参数?

我需要用传递到我的方法中的参数做一些事情。我如何使用RestSharp与他们一起玩(修改)? 最佳答案 使用方法拦截,您可以使用Args.Arguments对象通过SetArgument方法更改值。[Serializable]publicclassMyAspect:MethodInterceptionAspect{publicoverridevoidOnInvoke(MethodInterceptionArgsargs){stringinput=(string)args.Arguments[0];if(input.Equals("1

c# - 无法修改列表中的结构?

我想更改列表中的货币值,但总是收到错误消息:Cannotmodifythereturnvalueof'System.Collections.Generic.List.this[int]'becauseitisnotavariable怎么了?如何更改值?structAccountContainer{publicstringName;publicintAge;publicintChildren;publicintMoney;publicAccountContainer(stringname,intage,intchildren,intmoney):this(){this.Name=name

c# - 为什么结构中的迭代器可以修改这个?

Idiscoveredthatiteratormethodsinvaluetypesareallowedtomodifythis.但是,由于CLR的限制,调用方法看不到修改。(this是按值传递的)因此,迭代器和非迭代器中的相同代码会产生不同的结果:staticvoidMain(){Mutablem1=newMutable();m1.MutateWrong().ToArray();//ForcetheiteratortoexecuteConsole.WriteLine("AfterMutateWrong():"+m1.Value);Console.WriteLine();Mutable

c# - 配置 .NET WCF UTF-8 反序列化器以修改/丢弃非最短格式字符而不是抛出异常?

我们有一个通过WCF托管的SOAP网络服务。我们偶尔从其中接收数据的客户端之一使用非最短格式对UTF-8进行编码(有关这方面的一些信息,请参阅http://www.unicode.org/versions/corrigendum1.html)。修改客户端并不容易,因为我们的代码没有对这些非最短形式的字符进行编码。相反,我们希望编辑WCF服务以丢弃这些字符,将它们替换为其他占位符字符,甚至接受非最短形式的字符。对于我们的用例,这些中的任何一个都是可以接受的,尽管前一个选项是首选,因为它们减少了任何安全风险。查看堆栈跟踪:System.ServiceModel.Dispatcher.Net

c# - 是否可以像 LINQ 一样创建 C# 语言修改?

我一直在看Mr.Skeet'sblogonhowtore-implementLINQ.他特别声明代码:varlist=(frompersoninpeoplewhereperson.FirstName.StartsWith("J")orderbyperson.Ageselectperson.LastName).ToList();被转换为LINQ库提供的扩展方法的方法:people.Where(person=>person.FirstName.StartsWith("J")).OrderBy(person=>person.Age).Select(person=>person.LastNam

c# - Entity Framework 不更新由触发器修改的值

我的表Sections(SQLServer)有ID作为主键(int,identity)和SortIndexcolumn(int)用于排序目的。数据库有一个触发器,它在每个INSERT处设置SortIndex:=ID。显然我想稍后通过交换两行的值来更改排序索引。我使用EntityFramework访问数据,所有这些都使用MVC3网络应用程序。问题是,在我向表中插入一个新对象后,EntityFramework不会更新SortIndex的值。它还缓存了所有数据,因此以下从该表中获取所有对象的调用也将为该对象提供错误的SortIndex值。我尝试更改EDMX中此列的StoreGenerated

c# - 如何更新在 DbContext 之外修改的实体?

如果实体在DbContext之外更改(是一个分离的实体),我在更新实体时会遇到一个小问题。如果我附加修改后的实体,它的状态不会被修改。我的代码是这样的:varspecificationToSave=GetSpecificationFromTmpStore(userSessionGuid);using(varcontext=DataContextFactory.GetDataContext()){//thisworksforupdate,ifIchangethevaluesinsidethecontextwhiledebugging//butitbreakswithnewentities

c# - 修改已编译的.Net Exe

我有一个用C#编写的应用程序(当然没有源代码),需要稍微更改一下。例如,我需要停止创建不必要菜单的几行代码。所以我认为我应该将它们注释掉。源代码没有混淆。我知道我可以使用Reflector/Reflexil等工具完全反编译、更改和再次编译。但是谁都知道这样做,很多代码都不能再编译了!Reflector(或任何其他产品)中是否有一种方法可以在没有此过程的情况下禁用/更改其中的一部分?谢谢。 最佳答案 您可能想试试dnSpy。它是从ILSpy派生的.NET程序集编辑器、反编译器和调试器。https://github.com/0xd4d/

c# - 向 IntelliSense 提供不应修改分部类的提示

最近我使用了很多代码生成,通常与部分类结合使用。基本上设置如下:包含生成代码的部分类。此代码的某些部分将调用部分方法。代码重新生成了很多时间。代码生成器在某些情况下是自定义工具。部分方法在单独的文件中手动实现。问题是,当我使用诸如“生成方法”之类的Intellisense功能时,出于某种原因,它们是在包含生成代码的文件中生成的。显然我不希望这样。我的问题是:是否可以生成一些提示,告诉Intellisense它不应该触及某些“cs”文件(而是其他部分类)?更新回想起来,我应该注意到我正在使用自定义工具来生成代码。它不是EF或简单的转换;代码生成涉及相当多的逻辑。此外,它还生成带有部分类的

c# - 我可以修改 Request.Form 变量吗?

我尝试Request.Form.Set(k,v)但它抛出异常Collectionisread-only 最佳答案 这与修改Request.Querystring完全一样。两者都因私有(private)属性而在内部变得复杂,并且可以被视为错误,但是我知道有两种可能的解决方案(我会立即取消response.redirect计划-这太糟糕了)。方法一是直接使用反射修改集合:NameValueCollectionoQuery=Request.QueryString;oQuery=(NameValueCollection)Request.Ge