Подтвердить что ты не робот

Что такое внутреннее свойство set в С#?

Я просто встречаюсь с неизвестной концепцией С# для меня Может ли кто-нибудь сказать мне цель внутреннего свойства набора? Что он использует? Я знаю, что внутреннее ключевое слово используется для работы внутри сборки.

4b9b3361

Ответ 1

Если у вас есть свойство с внутренним установщиком доступа (и public get accessor), это означает, что код внутри сборки может читать (получать) и записывать (устанавливать) свойство, но другой код может читать только.

Вы можете получить вышеуказанную информацию, прочитав о модификаторе внутреннего доступа, общедоступный модификатор доступа и свойства.

Также вы можете прочитать Ограничение доступности Accessor.

Ответ 2

Свойства в С# 2.0

В С# 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

Это конструкция, которая позволяет устанавливать значение свойства только с помощью кода внутри той же сборки.