Is it possible to have both get and set private in a public property?
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#
|
show 1 more comment
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#
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 '18 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 '18 at 3:09
What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
– Spencer Wieczorek
Nov 21 '18 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 '18 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 '18 at 8:50
|
show 1 more comment
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#
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#
c#
asked Nov 21 '18 at 3:03
user10611863user10611863
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 '18 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 '18 at 3:09
What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
– Spencer Wieczorek
Nov 21 '18 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 '18 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 '18 at 8:50
|
show 1 more comment
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 '18 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 '18 at 3:09
What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
– Spencer Wieczorek
Nov 21 '18 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 '18 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 '18 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 '18 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 '18 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 '18 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 '18 at 3:09
What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
– Spencer Wieczorek
Nov 21 '18 at 3:23
What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
– Spencer Wieczorek
Nov 21 '18 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 '18 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 '18 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 '18 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 '18 at 8:50
|
show 1 more comment
1 Answer
1
active
oldest
votes
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.
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
add a comment |
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.
add a comment |
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.
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.
answered Nov 21 '18 at 3:14
BrandonBrandon
13.4k750124
13.4k750124
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 '18 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 '18 at 3:09
What's with the close votes? This is a perfectly valid question, it shouldn't be closed.
– Spencer Wieczorek
Nov 21 '18 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 '18 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 '18 at 8:50