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

    1 vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)

      We’ll send you updates on this idea

    • Make Caching aspect work concurrently

      Currently, calling a decorated method concurrently invokes the method twice. For more information and a workaround, see http://support.sharpcrafters.com/discussions/problems/4347-cache-aspect-concurrency

      1 vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)

        We’ll send you updates on this idea

        0 comments  ·  Caching  ·  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
          I agree to the terms of service
          Signed in as (Sign out)

          We’ll send you updates on this idea

          0 comments  ·  Diagnostics  ·  Admin →
        • Logging - Add support for event properties in the Logger class

          Like for instance LogEventInfo in NLog.

          1 vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            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
              I agree to the terms of service
              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
                I agree to the terms of service
                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
                  I agree to the terms of service
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  planned  ·  2 comments  ·  Threading  ·  Admin →
                • Point to a specific page on doc.postsharp.com when pressing F1 in Visual Studio on a code from any PostSharp namespace.

                  When you press F1 on any code from Microsoft, it takes you to the appropriate doc on MSDN. PostSharp can do the same with its types/methods/etc and doc.postsharp.net.

                  1 vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    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
                      I agree to the terms of service
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                    • Detection of inadequate "SkipPostSharp" flag

                      Sometimes someone switches on the SkipPostSharp flag in a project, then a few months later, someone else adds some aspect to this project, and wonders why it does not execute properly. Sometimes this is obvious, sometimes not. For the cases when it is not obvious, there could be a special build flag, applies solution-wide, that would emit an *error* if SkipPostSharp is set but PostSharp is required anyway.

                      0 votes
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                      • Clonable

                        Automatic implementation of IClonable

                        0 votes
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                        • Equality aspect

                          Automatic generation of Equals and GetHashCode.

                          0 votes
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            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
                              I agree to the terms of service
                              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
                                I agree to the terms of service
                                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
                                  I agree to the terms of service
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                • Provide a way to introduce a new constructor to a class

                                  I was going to try to create an aspect that introduced the ISerializable interface to classes, but there does not appear to be a way to add the constructor that is required of classes that implement this interface. Could this ability please be added?

                                  1 vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                  • 4 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                    • Dynamically provide name, type and implementation for introduced type members

                                      For example, allow the user to implement IAdviceProvider and return an AdviceInstance for each property to be introduced. Each AdviceInstance will specify the name and type of the property, and getter and setter methods to be invoked. The introduced properties are not required to be defined in the corresponding user aspect type.

                                      3 votes
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                      • provide a method to suppress FxCop warnings via PostSharp

                                        Today, if I add some aspects to my code, I may get different FxCop warnings, such as CA1062.

                                        I don't want to disable the rule because some of my code is not enhanced by aspects and I don't wat to loose that warning for such code.
                                        But I also don't want so suppress such warnings manually as that costs a lot of effort on the code base.

                                        So it would be really great if I could emit such warning suppressions via an aspect.
                                        As far as I know FxCop is running on the assemblies before they are enhanced by PostSharp,…

                                        3 votes
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                        • "Make it better" feature : when this is activated, scans entire project & suggests which areas of code can be made better using PostSharp

                                          This feature will be available as context menu when you right click on project."Make it better" feature : when this is clicked,
                                          a background worker will now scan that entire project and
                                          thereby "highlights" in some side-bar or alike so as to suggest, which areas of that project code can be made better using PostSharp's existing set of specific features

                                          47 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            1 comment  ·  Admin →
                                          ← Previous 1 3
                                          • Don't see your idea?

                                          Feedback and Knowledge Base