postsharp相关内容

生成自定义编译时警告 C#

我正在使用 VS2008,并希望根据属性的自定义属性创建编译时警告/错误(如果可能的话). 目前我感兴趣的有两种情况: [MyAttribute (typeof(MyClass)] MyClass 必须实现一个接口.目前我在属性的构造函数中声明了这一点,但是由于堆栈跟踪的性质,这并不容易追踪: public MyAttribute (Type MyClassType){System ..
发布时间:2022-01-17 08:33:30 C#/.NET

在 F# 中使用 PostSharp - 需要带有工作示例的文档

我需要捕获 F# 函数的输入和输出,因此决定尝试使用 PostSharp.我找不到将 PostSharp 与 F# 结合使用的文档和工作 F# 示例.有谁知道我在哪里可以找到这样的? 解决方案 PostSharp 不正式支持 F#.它可能部分工作,因为 PostSharp 在 MSIL 级别工作,但不能保证一切都会工作,并且由于它不受支持,因此不会解决错误. ..
发布时间:2022-01-05 10:06:54 其他开发

自动属性上的 INotifyPropertyChanged-Feature

我有许多实现 INotifyPropertyChanged-Interface 的模型类,以便在值更改时更新 UI. 遗憾的是,必须完全编写属性才能支持此功能.我已经通过在 BaseClass 中使用 'SetPropertyValue'-Method() 减少了我的代码. 私有字符串_title;公共字符串标题{得到{返回标题;}set { SetPropertyValue("Title ..
发布时间:2021-11-11 04:40:43 C#/.NET

接口方法的 Postsharp 编译时验证

我有一个包含服务合同的程序集(程序集名称是 Contracts).我想使用属性和 PostSharp 对这些方法实施授权.授权属性如下所示: public class Auth : System.Attribute{公共身份验证(字符串权限){...}} 我希望我的服务合同看起来像这样: 命名空间合约{公共接口 IService{[Auth("CanCallFoo")]空Foo();}} ..
发布时间:2021-11-11 04:39:45 C#/.NET

PostSharp - 排除使用 AttributeExclude 的方法不起作用

我们有一个项目,我们使用 PostSharp 来启用日志记录.效果很好.但是,有几种方法在非常紧密的循环中运行,其中日志记录的开销加起来确实相当可观.我正在尝试找出将它们从日志记录代码中排除的最佳方法. 据我所知,这种方法应该有效 AssemblyInfo.cs//为所有类中的所有方法打开日志记录[程序集:日志(LogType.Debug)]代码.cs//排除这个特定的方法[日志(属性排除 ..
发布时间:2021-11-11 04:39:07 其他开发

使用 PostSharp 拦截 ADO.Net

我有相当大的代码库,使用各种不同的 ADO 技术(即一些 EF,在某些情况下直接使用 ADO.Net). 我想知道是否有任何方法可以全局拦截任何 ADO.Net 调用,以便我可以开始审核信息 - 执行的确切 SQL 语句、花费的时间、返回的结果等. 主要想法是,如果我能做到这一点,我就不必更改任何现有代码,而且我应该能够拦截/包装 ADO.Net 调用......这可能吗? 解决 ..
发布时间:2021-11-11 04:38:56 其他开发

可以在网站项目中使用 postsharp 方面吗?

我正在尝试在 VS2012 的网站项目中使用 PostSharp 方面.当我设置一个 Web 应用程序项目时,它似乎工作正常,但是当我将 aspect 属性应用于网站项目中页面上的方法时,它编译并运行良好,但我的 OnMethodBoundaryAspect 从未被击中.我尝试从方面方法设置断点和日志记录. PostSharp 是否支持网站项目?如果是这样,我错过了什么? 请不要评论我 ..

预处理 C# - 检测方法

我需要能够预处理大量 C# 文件作为项目的预构建步骤,检测方法的开始,并在方法的开始处插入生成的代码,在任何现有代码之前.但是,我在检测方法的打开时遇到问题.我最初尝试使用正则表达式进行匹配,但最终出现了太多误报. 我会使用反射,但 MethodInfo 类没有引用原始源中的点. 编辑:我在这里真正想做的是支持方法的前置条件,前置条件代码由方法的属性确定.我最初的想法是我可以寻找方法的 ..
发布时间:2021-11-11 04:38:23 C#/.NET

属性设置器的 PostSharp 方面,调用泛型方法

我们有一个基础对象,用于一些类似 MVC 的系统,其中后代中的每个属性都写成这样: public String FirstName{get { return GetProperty("FirstName", ref _FirstName);}set { SetProperty("FirstName", ref _FirstName, value);}} 这样做既是为了调试目的,也是为了通知和验 ..
发布时间:2021-11-11 04:38:11 C#/.NET

如何使用 PostSharp 拦截基类上的方法调用?

我想使用 PostSharp 为各种类提供 System.Object.ToString 的实现.我创建了一个从 MethodInterceptionAspect 继承的方面,但是当调用 EchoDto.ToString 时,OnInvoke 方法没有被调用. 如何在调用 ToString 时调用 OnInvoke? [数据契约][实现JsonToStringAspect()]公开课 Ec ..
发布时间:2021-11-11 04:37:53 C#/.NET

运行单元测试时如何禁用 PostSharp?

我希望我的 nunit 测试不应用我的任何 PostSharp 方面,以便我可以单独测试我的方法.这可以在测试夹具设置中以某种方式完成,还是只能在每个项目级别完成? 解决方案 您可以在测试版本上设置“SkipPostSharp"标志,这样它就不会首先编译到您的二进制文件中. ..
发布时间:2021-11-11 04:36:36 C#/.NET

Postsharp 新手 - 为什么 args.Instance 为空?

PostSharp 新手 --- 我现在正在尝试 NuGet 版本,并且我正在尝试了解 AuthoriseAttribute OnEntry 方法中的 wny,即 agrs.Instance 值为 null.我正在尝试实现取决于对象值的授权,例如已存档的客户无法提高信用额度.我正在其他特定于规则的类中实施规则. 公共类程序{static void Main(string[] args){var ..
发布时间:2021-11-11 04:36:30 其他开发

PostSharp 如何在运行时知道某个方面是否应用于方法?

我正在实现一个 PostSharp 方面库,但找不到以下问题的解决方案. 假设我们有一个方面将应用于某些方法而不会应用于其他方法.我需要一些可以在运行时使用的机制来了解某个方面是否应用于方法.具体来说,在运行时确定某个方面是否应用于由 System.Reflection.MethodBase 给出的特定方法的推荐方法是什么? 我想到的第一个解决方案是让 PostSharp 使用自定义属 ..
发布时间:2021-11-11 04:35:47 C#/.NET

是否可以在构建期间通过 PostSharp 访问引入/编织的接口和成员?

我正在设计一个场景,其中两个 PostSharp 方面相互配合.我有一个方面(下面代码中的FirstAspect)旨在引入一个接口,然后另一个方面(下面代码中的SecondAspect)应该与第一个方面引入的接口. 但是,第一个方面引入的接口似乎永远无法用于第二个方面. 这是我目前正在使用的代码: 公共类测试{[事实]公共无效验证(){//并不是那么重要,因为当前代码没有正确编译:v ..
发布时间:2021-11-11 04:34:51 C#/.NET

使用带有 TraceAttribute 的 PostSharp 以使用 HttpContext 的 SessionID 进行日志记录

我在每个类上使用带有 TraceAttribute 的 PostSharp 以写入日志文件.一个新的要求是能够在每个日志条目前面加上 SessionID. PostSharp 似乎无法以这种方式工作.我尝试了两种对我有意义的方法,但都不起作用. 尝试 #1 我向 TraceAttribute 构造函数添加了一个字符串参数,以供 OnEntry、OnExit 和 OnExcepti ..
发布时间:2021-11-11 04:33:40 其他开发

面向方面的编程:你用 PostSharp 做什么?

请问AOP框架Postsharp的用户,您使用该框架的具体目的是什么? 另外,我知道它的使用对构建时间有很大的负面影响,但是运行时性能如何?有很大的打击吗? 谢谢, S 解决方案 我使用编译时编织为一些已使用特定属性修饰的方法添加额外功能. 喜欢这里.> ..
发布时间:2021-11-11 04:33:14 其他开发

Spring.Net 可以用作 PostSharp 吗?

几个月前我发现了 PostSharp,有一段时间,它很好. 但是,legal 回复说他们不喜欢旧版本的许可证.然后部门告诉我 2.0 的价格高得令人无法接受(对于我们需要的座位数量)......我非常失望,但并不灰心.不可能是唯一的这样的框架,我想. 我一直在寻找替代品,但其中大部分要么死了,维护不善(特别是在文档部门),用于学术用途,或以上所有(我在看你 Aspect.Net) ..
发布时间:2021-11-11 04:32:28 C#/.NET

使用 PostSharp 添加 OnException 属性

我正在尝试一些 AOP,似乎使用 .NET PostSharp 是可行的方法. 我想在发生异常时对数据库做一些简单的日志记录.但是,我发现很难找到超出基础知识的 PostSharp 使用实例.我尝试了以下方法: [可序列化]公共密封类 LogExceptionAttribute : ExceptionHandlerAspect{公共覆盖无效 OnException(MethodExecut ..
发布时间:2021-11-11 04:32:13 C#/.NET

为什么编译后代码注入比编译前代码注入更好?

所以我们都知道 C# 没有类似 C 的宏预处理器(并且有一个很好的线索来说明为什么 此处).但是现在 AOP 越来越受欢迎,似乎我们开始用后处理器做一些我们过去用预处理器做的事情(请记住,我只是用 PostSharp 所以我可能不在基地). 我非常喜欢 C# 中的属性,但是如果出于充分的原因(作为一个前 MFC 用户,我仍然质疑但仍然接受)为什么不使用预处理器,为什么编译后代码注入是一个更好 ..
发布时间:2021-11-11 04:32:07 C#/.NET