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. Add support JetBrains Rider IDE

    Please add PostSharp support for JetBrains IDE Rider.

    3 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 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 →
        • 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

          • 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

            • 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

                                    57 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.

                                        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

                                        • Event aggregation aspect

                                          Automatically publishes events of an object to an event aggregator.

                                          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

                                          ← Previous 1 3
                                          • Don't see your idea?

                                          Feedback and Knowledge Base