2015-01-09 3 views
0

Так что я следующий класс, RoomMonitor, установить в качестве такНепоследовательная доступность в C#?

class RoomMonitor { 
    public RoomMonitor (Account acc) { 
      // Init stuff 
    } 
} 

И Account класс настроен как ..

class Account { 
    public Account (DataRow row) { 
      // Init stuff 
    } 
} 

Мой вопрос, эта ошибка не должно происходить то, поскольку оба класса являются общедоступными? И все же я получаю сообщение об ошибке:

Inconsistent accessibility: parameter type 'Hotel_Manager.Objects.Account' is less accessible than method 'Hotel_Manager.RoomMonitor.RoomMonitor 
+2

Вы не показываете нам строку кода, которая вызывает ошибку, а также определения классов задействованных свойств. – crashmstr

+7

Вы показываете публичные * конструкторы *, но сами классы помечены как 'public'? –

+0

@JohnKoerner 'Objects' * может * быть пространством имен. –

ответ

2

Итак, код, который вы указали, выглядит как конструкторы для двух классов. Сами декларации классов должны быть общедоступными. Например,

public class RoomMonitor 
+0

Спасибо за ответ! Ты был прав. Я помету ваш ответ, когда таймер закончится :) – Dilisqq

+0

Не важно, что класс 'RoomMonitor' является общедоступным. Либо класс 'Account' должен быть опубликован, либо проблемный конструктор' RoomMonitor' должен быть внутренним. –

1

Как говорится в сообщении; Параметр типа Учетная запись публичного метода не является общедоступной.

Чтобы устранить эту проблему, сделайте тип Hotel_Manager.Objects.Accountpublic.

Смежные вопросы