Я просто встречаюсь с неизвестной концепцией С# для меня Может ли кто-нибудь сказать мне цель внутреннего свойства набора? Что он использует? Я знаю, что внутреннее ключевое слово используется для работы внутри сборки.
Что такое внутреннее свойство set в С#?
Ответ 1
Если у вас есть свойство с внутренним установщиком доступа (и public get accessor), это означает, что код внутри сборки может читать (получать) и записывать (устанавливать) свойство, но другой код может читать только.
Вы можете получить вышеуказанную информацию, прочитав о модификаторе внутреннего доступа, общедоступный модификатор доступа и свойства.
Также вы можете прочитать Ограничение доступности Accessor.
Ответ 2
В С# 2.0 вы можете установить доступность get и set.
В приведенном ниже коде показано, как создать приватную переменную с внутренним набором и public get. Свойство Hour теперь можно установить только из кода в том же модуле (dll), но к нему можно получить доступ всем кодом, который использует модуль (dll), который содержит класс.
// private member variables
private int hour;
// create a property
public int Hour
{
get { return hour; }
internal set { hour = value; }
}
Ответ 3
Предположим, вы разрабатываете API для использования другими программистами. Внутри этого API у вас есть объект Foo
, который имеет свойство Bar
. Вы не хотите, чтобы другие программисты устанавливали значение Bar
, когда ссылаются на вашу сборку, но вам нужно установить значение самостоятельно из своего API. Просто объявите свойство как таковое:
public class Foo
{
public string Bar { get; internal set; }
}
Ответ 4
с объявленным объявлением public string MyString {get; internal set;}
это означает, что
- вы можете прочитать значение свойства из любого места с вашим приложением (
public string MyString
) - но вы можете написать новое значение для свойства из внутри сборки, в котором оно объявлено, или из сборников друзей. (
internal set;
)
Ответ 5
Если установщик свойств помечен модификатором внутреннего доступа, только классы, которые находятся внутри сборки, могут установить свойство.
public string MyProperty { get; internal set; }
Ответ 6
Это означает, что свойство может быть установлено только кодом, который находится внутри той же сборки, что и класс, делящий свойство.
Ответ 7
Это конструкция, которая позволяет устанавливать значение свойства только с помощью кода внутри той же сборки.