Is it possible to have both get and set private in a public property?












-2














Is it theoretically possible to have both get and set private in a public property?
I'm not asking about whether it's good code. I got it marked wrong on a test by a professor who said it's an invalid property.










share|improve this question


















  • 2




    Lol no.. it's not possible.. Otherwise how can you access the property at all? What would be the point of it being public if it can't be accessed? It's a conflict of interest.. As such, you get a compiler error: Cannot specify accessibility modifiers for both accessors of the property or indexer
    – Brandon
    Nov 21 at 3:06












  • Remember what the { get; set; } is shorthand for. It creates a private variable, with a get function and a set function. If both functions are private, nothing outside can see the variable at all, so its not a public property is it?
    – Loocid
    Nov 21 at 3:09










  • What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
    – Spencer Wieczorek
    Nov 21 at 3:23












  • Is it theoretically possible to have both get and set private in a public property? What happened when you tried it?
    – mjwills
    Nov 21 at 3:29






  • 1




    It shows no research effort. At least writing it down and feeding it to the compiler is expected behaviour before coming here.
    – TaW
    Nov 21 at 8:50
















-2














Is it theoretically possible to have both get and set private in a public property?
I'm not asking about whether it's good code. I got it marked wrong on a test by a professor who said it's an invalid property.










share|improve this question


















  • 2




    Lol no.. it's not possible.. Otherwise how can you access the property at all? What would be the point of it being public if it can't be accessed? It's a conflict of interest.. As such, you get a compiler error: Cannot specify accessibility modifiers for both accessors of the property or indexer
    – Brandon
    Nov 21 at 3:06












  • Remember what the { get; set; } is shorthand for. It creates a private variable, with a get function and a set function. If both functions are private, nothing outside can see the variable at all, so its not a public property is it?
    – Loocid
    Nov 21 at 3:09










  • What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
    – Spencer Wieczorek
    Nov 21 at 3:23












  • Is it theoretically possible to have both get and set private in a public property? What happened when you tried it?
    – mjwills
    Nov 21 at 3:29






  • 1




    It shows no research effort. At least writing it down and feeding it to the compiler is expected behaviour before coming here.
    – TaW
    Nov 21 at 8:50














-2












-2








-2







Is it theoretically possible to have both get and set private in a public property?
I'm not asking about whether it's good code. I got it marked wrong on a test by a professor who said it's an invalid property.










share|improve this question













Is it theoretically possible to have both get and set private in a public property?
I'm not asking about whether it's good code. I got it marked wrong on a test by a professor who said it's an invalid property.







c#






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 21 at 3:03









user10611863

22




22








  • 2




    Lol no.. it's not possible.. Otherwise how can you access the property at all? What would be the point of it being public if it can't be accessed? It's a conflict of interest.. As such, you get a compiler error: Cannot specify accessibility modifiers for both accessors of the property or indexer
    – Brandon
    Nov 21 at 3:06












  • Remember what the { get; set; } is shorthand for. It creates a private variable, with a get function and a set function. If both functions are private, nothing outside can see the variable at all, so its not a public property is it?
    – Loocid
    Nov 21 at 3:09










  • What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
    – Spencer Wieczorek
    Nov 21 at 3:23












  • Is it theoretically possible to have both get and set private in a public property? What happened when you tried it?
    – mjwills
    Nov 21 at 3:29






  • 1




    It shows no research effort. At least writing it down and feeding it to the compiler is expected behaviour before coming here.
    – TaW
    Nov 21 at 8:50














  • 2




    Lol no.. it's not possible.. Otherwise how can you access the property at all? What would be the point of it being public if it can't be accessed? It's a conflict of interest.. As such, you get a compiler error: Cannot specify accessibility modifiers for both accessors of the property or indexer
    – Brandon
    Nov 21 at 3:06












  • Remember what the { get; set; } is shorthand for. It creates a private variable, with a get function and a set function. If both functions are private, nothing outside can see the variable at all, so its not a public property is it?
    – Loocid
    Nov 21 at 3:09










  • What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
    – Spencer Wieczorek
    Nov 21 at 3:23












  • Is it theoretically possible to have both get and set private in a public property? What happened when you tried it?
    – mjwills
    Nov 21 at 3:29






  • 1




    It shows no research effort. At least writing it down and feeding it to the compiler is expected behaviour before coming here.
    – TaW
    Nov 21 at 8:50








2




2




Lol no.. it's not possible.. Otherwise how can you access the property at all? What would be the point of it being public if it can't be accessed? It's a conflict of interest.. As such, you get a compiler error: Cannot specify accessibility modifiers for both accessors of the property or indexer
– Brandon
Nov 21 at 3:06






Lol no.. it's not possible.. Otherwise how can you access the property at all? What would be the point of it being public if it can't be accessed? It's a conflict of interest.. As such, you get a compiler error: Cannot specify accessibility modifiers for both accessors of the property or indexer
– Brandon
Nov 21 at 3:06














Remember what the { get; set; } is shorthand for. It creates a private variable, with a get function and a set function. If both functions are private, nothing outside can see the variable at all, so its not a public property is it?
– Loocid
Nov 21 at 3:09




Remember what the { get; set; } is shorthand for. It creates a private variable, with a get function and a set function. If both functions are private, nothing outside can see the variable at all, so its not a public property is it?
– Loocid
Nov 21 at 3:09












What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
– Spencer Wieczorek
Nov 21 at 3:23






What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
– Spencer Wieczorek
Nov 21 at 3:23














Is it theoretically possible to have both get and set private in a public property? What happened when you tried it?
– mjwills
Nov 21 at 3:29




Is it theoretically possible to have both get and set private in a public property? What happened when you tried it?
– mjwills
Nov 21 at 3:29




1




1




It shows no research effort. At least writing it down and feeding it to the compiler is expected behaviour before coming here.
– TaW
Nov 21 at 8:50




It shows no research effort. At least writing it down and feeding it to the compiler is expected behaviour before coming here.
– TaW
Nov 21 at 8:50












1 Answer
1






active

oldest

votes


















3














https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility




Restrictions on Access Modifiers on Accessors Using the accessor
modifiers on properties or indexers is subject to these conditions:




  • You cannot use accessor modifiers on an interface or an explicit
    interface member implementation.


  • You can use accessor modifiers only if the property or indexer has
    both set and get accessors. In this case, the modifier is permitted on
    one only of the two accessors.


  • If the property or indexer has an override modifier, the accessor
    modifier must match the accessor of the overridden accessor, if any.


  • The accessibility level on the accessor must be more restrictive than
    the accessibility level on the property or indexer itself.





I have not tested it in Visual Studio, but using an online compiler it spits out the error (and highlights the faulty code):




Cannot specify accessibility modifiers for both accessors of the
property or indexer: (insert property name here).




It makes sense. What would be the point of a "public" property that cannot be accessed publicly at all due to both the setter and getter being marked private. It's a conflict of interest.






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53404703%2fis-it-possible-to-have-both-get-and-set-private-in-a-public-property%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility




    Restrictions on Access Modifiers on Accessors Using the accessor
    modifiers on properties or indexers is subject to these conditions:




    • You cannot use accessor modifiers on an interface or an explicit
      interface member implementation.


    • You can use accessor modifiers only if the property or indexer has
      both set and get accessors. In this case, the modifier is permitted on
      one only of the two accessors.


    • If the property or indexer has an override modifier, the accessor
      modifier must match the accessor of the overridden accessor, if any.


    • The accessibility level on the accessor must be more restrictive than
      the accessibility level on the property or indexer itself.





    I have not tested it in Visual Studio, but using an online compiler it spits out the error (and highlights the faulty code):




    Cannot specify accessibility modifiers for both accessors of the
    property or indexer: (insert property name here).




    It makes sense. What would be the point of a "public" property that cannot be accessed publicly at all due to both the setter and getter being marked private. It's a conflict of interest.






    share|improve this answer


























      3














      https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility




      Restrictions on Access Modifiers on Accessors Using the accessor
      modifiers on properties or indexers is subject to these conditions:




      • You cannot use accessor modifiers on an interface or an explicit
        interface member implementation.


      • You can use accessor modifiers only if the property or indexer has
        both set and get accessors. In this case, the modifier is permitted on
        one only of the two accessors.


      • If the property or indexer has an override modifier, the accessor
        modifier must match the accessor of the overridden accessor, if any.


      • The accessibility level on the accessor must be more restrictive than
        the accessibility level on the property or indexer itself.





      I have not tested it in Visual Studio, but using an online compiler it spits out the error (and highlights the faulty code):




      Cannot specify accessibility modifiers for both accessors of the
      property or indexer: (insert property name here).




      It makes sense. What would be the point of a "public" property that cannot be accessed publicly at all due to both the setter and getter being marked private. It's a conflict of interest.






      share|improve this answer
























        3












        3








        3






        https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility




        Restrictions on Access Modifiers on Accessors Using the accessor
        modifiers on properties or indexers is subject to these conditions:




        • You cannot use accessor modifiers on an interface or an explicit
          interface member implementation.


        • You can use accessor modifiers only if the property or indexer has
          both set and get accessors. In this case, the modifier is permitted on
          one only of the two accessors.


        • If the property or indexer has an override modifier, the accessor
          modifier must match the accessor of the overridden accessor, if any.


        • The accessibility level on the accessor must be more restrictive than
          the accessibility level on the property or indexer itself.





        I have not tested it in Visual Studio, but using an online compiler it spits out the error (and highlights the faulty code):




        Cannot specify accessibility modifiers for both accessors of the
        property or indexer: (insert property name here).




        It makes sense. What would be the point of a "public" property that cannot be accessed publicly at all due to both the setter and getter being marked private. It's a conflict of interest.






        share|improve this answer












        https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility




        Restrictions on Access Modifiers on Accessors Using the accessor
        modifiers on properties or indexers is subject to these conditions:




        • You cannot use accessor modifiers on an interface or an explicit
          interface member implementation.


        • You can use accessor modifiers only if the property or indexer has
          both set and get accessors. In this case, the modifier is permitted on
          one only of the two accessors.


        • If the property or indexer has an override modifier, the accessor
          modifier must match the accessor of the overridden accessor, if any.


        • The accessibility level on the accessor must be more restrictive than
          the accessibility level on the property or indexer itself.





        I have not tested it in Visual Studio, but using an online compiler it spits out the error (and highlights the faulty code):




        Cannot specify accessibility modifiers for both accessors of the
        property or indexer: (insert property name here).




        It makes sense. What would be the point of a "public" property that cannot be accessed publicly at all due to both the setter and getter being marked private. It's a conflict of interest.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 21 at 3:14









        Brandon

        13k749121




        13k749121






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53404703%2fis-it-possible-to-have-both-get-and-set-private-in-a-public-property%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Wiesbaden

            Marschland

            Dieringhausen