无法通过"Border'类型的限定符访问受保护的成员”object.MemberwiseClone0";限定符必须是" MainWindow "类型(或者从该类型派生)
时间: 2023-12-31 17:05:23 浏览: 35
这个错误是因为 `MemberwiseClone()` 方法是受保护的,只能从同一类或其派生类中访问。在您的代码中,您可能试图从 `Border` 类或其派生类中调用 `MemberwiseClone()` 方法,这是不允许的。
为了解决这个问题,您可以将控件类型转换为其实际类型,然后再调用 `MemberwiseClone()` 方法。例如,如果您要从一个 `Border` 控件中复制属性,您可以执行以下操作:
```csharp
Border staticBorder = new Border();
staticBorder.Background = Brushes.Red;
staticBorder.BorderBrush = Brushes.Black;
Border newBorder = (Border)staticBorder.MemberwiseClone();
```
在上面的示例中,我们首先创建了一个新的 `Border` 控件 `staticBorder` 并设置其背景和边框颜色。然后,我们将 `staticBorder` 类型转换为 `Border` 类型,并使用 `MemberwiseClone()` 方法创建一个新的 `Border` 控件 `newBorder`。现在,`newBorder` 具有与 `staticBorder` 相同的属性,但是它们具有不同的引用。
请注意,使用 `MemberwiseClone()` 方法进行复制只会复制控件的值类型属性,对于引用类型属性(例如 `Brush`、`Font` 等),它们仍然会共享相同的引用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)