Feature Requests

I suggest you ...

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Support for C# 7.3

    A friendly warning appears in the output window after C# 7.3 project is built with PostSharp 6.0.18 - suggesting the latest PostSharp version (as of this post writing) only officially supports up to C# 7.2.

    I'd appreciate if we could have C# 7.3 support in PostSharp 6 (perhaps next update)?

    Here goes more details of mine development machine:

    Running on environment:
    Windows 10 (x64)
    .NET Framework 4.7.1
    Visual Studio Enterprise 2017 (version 15.7.5)
    PostSharp (version 6.0.18)

    Steps to reproduce:
    Create a new C# Console application (targetting .NET Framework 4.7.1), and enable PostSharp for the project.
    Go to project's properties. Select…

    1 vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)

      We’ll send you updates on this idea

    • Provide enhanced support for the "current class logger" custom message logging idiom

      Provide enhanced support for the "current class logger" custom message logging idiom. Notably:

      1. Remove the need to declare boilerplate like:

      class Foo
      {
      static readonly Logger _logger = Logger.GetLogger( LoggingRoles.Custom, typeof( Foo ) );

      void Bar()
      {
      _logger.Write( LogLevel.Debug, "Hello!" );
      }
      }

      most likely by providing a class with static methods, for example:

      class Foo
      {
      void Bar()
      {
      CurrentClassLogger.Write( LogLevel.Debug, "Hello!" );
      }
      }

      2. Further to (1), honour the AllowDynamicEnabling=false configuration setting around invocations of current class logger logging methods.

      3. Further to (2), to allow users to JIT-away blocks of code that are only used…

      1 vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)

        We’ll send you updates on this idea

        backlogged  ·  1 comment  ·  Diagnostics  ·  Admin →
      • Add support JetBrains Rider IDE

        Please add PostSharp support for JetBrains IDE Rider.

        1 vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)

          We’ll send you updates on this idea

        • Trace all methods called within a specific method

          It will be great if I could get execution time of all methods executed during execution of specific method.

          1 vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)

            We’ll send you updates on this idea

          • generate method caching key automatically

            I've came up with a solution for generating the caching key automatically especially for non-primitive complex types such as (student) [without using hashcode method]
            my idea is specifying the important properties in the caching attribute
            ~ i've exerted a considerable effort in that solution ~Contact me for more details if you are interested. ~best wishes

            1 vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)

              We’ll send you updates on this idea

              backlogged  ·  2 comments  ·  Caching  ·  Admin →
            • OnPropertyNameChanged, OnPropertyNameChanging callbacks

              We often want to do something when a certain property value changes. Therefore, it will be very convenient if in the case of a value change, the PostSharp library will run a predefined function.

              For example, in ViewModel there is a property named ProductId.

              The programmer will be able to write a function called OnProductIdChanged that will be executed if the ProductId value changes.

              How it will happen: When the value of a property changes, the PostSharp library checks whether there is a function named OnPropertyNameChanged. If it does, it will be executed.

              This need is so common, and saves…

              2 votes
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)

                We’ll send you updates on this idea

              • Allow Dynamic Introduction of Static Members and Module Initializers

                I understand that at the IL level these are actually two separate types of injection, but I have on several occasions wished I could add a module initializer to an assembly from an aspect provider, not by marking an existing static member as one but by including the module initialization behavior in the aspect itself. Similarly, there are a few types which could have benefited from automatic introduction of static members (perhaps a new StaticTypeLevelAspect base class?). I imagine these are similar in some manner of abstract implementation detail, yet wind up being somewhat unrelated due to the way module…

                1 vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                • ReaderWriterSynchronized Model should allow finding out what lock is held at the moment

                  I want to put assertions in my code like "must not have writer lock here".

                  It is crucial to know what lock is held in a certain situation.
                  When I apply attributes (Reader, Writer, ExplicitlySynchronized, Yielder) I make assumptions on what they will do, but there is no way to check my assumptions.

                  I tried using the IConcurrencyController.CheckAccess method, but it does not do what I need.

                  2 votes
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    backlogged  ·  2 comments  ·  Threading  ·  Admin →
                  • Logging - Add support for event properties in the Logger class

                    Like for instance LogEventInfo in NLog.

                    2 votes
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      backlogged  ·  0 comments  ·  Diagnostics  ·  Admin →
                    • Logging - Support for obfuscation

                      The logging feature in PostSharp 5.0 is not designed for obfuscation. The idea is to make it obfuscation-friendly. Some problems to address are:

                      1. When type names are obfuscated, the hierarchy of namespaces (LoggingNamespaceSource) is lost.
                      2. Member names are not obfuscated.
                      3. Source files, lines and columns are not obfuscated.

                      1 vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        0 comments  ·  Diagnostics  ·  Admin →
                      • Opt out of NotifyPropertyChanged aspect

                        NotifyPropertyChanged generates an unbearable overhead if the call count reaches millions of times.

                        Often the concerning properties are read-only (e.g. an ID), so wouldn't need PropertyChanged support at all.

                        I would like a way to opt out of PropertyChanged for individual properties.

                        1 vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                        • Change misleading alternative in Niche Languages column

                          Here is page https://www.postsharp.net/alternatives.

                          Here is column header
                          ```
                          Niche Languages
                          F#, Erlang
                          ```

                          I doubt Erlang relates to .NET as viable alternative at at all.
                          Niche Language which is Niche and is concurrent of Postsharp is https://github.com/rsdn/nemerle.

                          What `niche language` means?
                          F# may be `niche` as current number of users.
                          But F# is NOT Niche about its applicability. Its applicable in areas of scripting and tooling and data munging and secured engineering is LARGER than of C#. In this sense C# is `niche`.

                          About F#. Your statements are wrong and do you bad job advertising Postsharp product…

                          1 vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                          • Support auto-property initializer construction for LocationInterceptionAspects

                            The method OnSetValue() of the LocationInterceptionAspect isn´t called when you initialize your properties using auto-property initiliazers. This can be confusing because you expect that your aspect will be called if a property value is changed, no matter where and how.

                            1 vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                            • Implement Singleton pattern

                              Have you planned to add a quick way to implement a C# singleton for a class ?

                              2 votes
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                              • Support NotifyPropertyChanged for external static fields

                                As a developer I do expect property changes to be raised even when i depend on external static fields.
                                This issue has been pointed out in the following thread:
                                http://support.sharpcrafters.com/discussions/questions/1565-notifypropertychanged-and-static-property

                                I lost a lot of time trying to understand what i was doing wrong before contacting the support because it felt like it should just work to me.

                                Honestly, i don't understand exactly what the problem is but, i have been told it's a design choice and I have been provided with a working workaround.

                                Couldn't this workaround be automated by postsharp?

                                2 votes
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                • Support for Universal Windows Applications (Windows 10)

                                  Scenario: use PostSharp in an Windows Universal Application

                                  56 votes
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                  • Do not require a license to build unedited projects: support for SVN

                                    Currently only Git and TFS are supported for the feature "Do not require a license to build unedited projects". Add support for SVN.

                                    2 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                    • Improvement of run-time performance

                                      Reduce the run-time overhead of PostSharp, especially the load on GC. Specifically, design new kinds of advices that receive the context on the stack and on the heap.

                                      55 votes
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                      • Event aggregation aspect

                                        Automatically publishes events of an object to an event aggregator.

                                        32 votes
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                        • Management API for logging, metrics, caching, circuit breaker aspects

                                          To expose the aspects to runtime management or monitoring facilities such as WMI, to enable scenarios like: enable/disable logging or caching, reset cache, open/close a circuit breaker... without having to restart the application.

                                          33 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            backlogged  ·  0 comments  ·  Diagnostics  ·  Admin →
                                          ← Previous 1 3
                                          • Don't see your idea?

                                          Feedback and Knowledge Base