<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Compiler Error CS1540 無法通過類型“type1”的限定符訪問保護成員“member”;限定符必須是類型“type2”(或者從該類型派生的) 派生的[類](https://msdn.microsoft.com/zh-CN/library/0b0thckt.aspx)無法通過基類的實例來訪問其基類的受保護成員。在派生的類中聲明的基類的實例在運行時可能是另一個類型的實例,該類型從相同的基派生但與派生的類無關。由于受保護成員只可由派生的類型訪問,因此要訪問可能在運行時無效的受保護成員的任何嘗試都會由編譯器標記為無效。 在以下示例中的 Employee 類中,emp2 和 emp3 在編譯時都具有類型 Person,但 emp2 在運行時具有類型 Manager。由于 Employee 未從 Manager 派生,因此它不能通過 Manager 類的實例來訪問基類 Person 的受保護成員。編譯器無法確定兩個 Person 對象的運行時類型將是什么類型。因此,來自 emp2 的調用和來自 emp3 的調用都會導致編譯器錯誤 CS1540。 ``` using System; using System.Text; namespace CS1540 { class Program1 { static void Main() { Employee.PreparePayroll(); } } class Person { protected virtual void CalculatePay() { Console.WriteLine("CalculatePay in Person class."); } } class Manager : Person { protected override void CalculatePay() { Console.WriteLine("CalculatePay in Manager class."); } } class Employee : Person { public static void PreparePayroll() { Employee emp1 = new Employee(); Person emp2 = new Manager(); Person emp3 = new Employee(); // The following line calls the method in the Employee base class, // Person. emp1.CalculatePay(); // The following lines cause compiler error CS1540\. The compiler // cannot determine at compile time what the run-time types of // emp2 and emp3 will be. //emp2.CalculatePay(); //emp3.CalculatePay(); } } } ``` ## 請參閱 [繼承(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173149.aspx) [多態性(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173152.aspx) [訪問修飾符(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173121.aspx) [抽象類、密封類及類成員(C# 編程指南)](https://msdn.microsoft.com/zh-CN/library/ms173150.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看