Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象构造中的调用self_C# - Fatal编程技术网

C# 对象构造中的调用self

C# 对象构造中的调用self,c#,C#,我正在初始化一个具有多个属性的对象。但是,有多个属性始终相同(样式) 考虑以下初始化代码块: private static Button _saveButton = new Button { Text = "Save", HorizontalOptions = LayoutOptions.Center, WidthRequest = 500, IsVisible = false //applyStandard(this) ? }; 我想将\u saveB

我正在初始化一个具有多个属性的对象。但是,有多个属性始终相同(样式)

考虑以下初始化代码块:

private static Button _saveButton = new Button
{
    Text = "Save",
    HorizontalOptions = LayoutOptions.Center,
    WidthRequest = 500,
    IsVisible = false
    //applyStandard(this) ?
};
我想将
\u saveButton
传递给一个方法,该方法使用类似于
void applyStandard(视图v)
的内容更改其
TextColor
BorderColor
属性


如果可能的话,我该怎么做呢?

您不能在对象初始值设定项中执行此操作。您需要将方法调用与初始化分离。

您不能在对象初始值设定项中执行此操作。您需要将方法调用与初始化分离。

您不能在对象初始值设定项中执行此操作。您需要将方法调用与初始化分离。

您不能在对象初始值设定项中执行此操作。您需要将方法调用与初始化分离。

您无法访问初始化器中的按钮实例,但可以创建一个扩展方法,在它之后立即调用:

public static class Extensions {

    public static Button ApplyStandard(this Button button) {
        button.TextColor = Colors.Red;
        return button;
    }

}
通过从扩展方法返回按钮,可以将其链接到创建中:

private static Button _saveButton = new Button {
  Text = "Save",
  HorizontalOptions = LayoutOptions.Center,
  WidthRequest = 500,
  IsVisible = false
}.ApplyStandard();

您无法访问初始值设定项中的button实例,但可以创建一个扩展方法,在它之后立即调用:

public static class Extensions {

    public static Button ApplyStandard(this Button button) {
        button.TextColor = Colors.Red;
        return button;
    }

}
通过从扩展方法返回按钮,可以将其链接到创建中:

private static Button _saveButton = new Button {
  Text = "Save",
  HorizontalOptions = LayoutOptions.Center,
  WidthRequest = 500,
  IsVisible = false
}.ApplyStandard();

您无法访问初始值设定项中的button实例,但可以创建一个扩展方法,在它之后立即调用:

public static class Extensions {

    public static Button ApplyStandard(this Button button) {
        button.TextColor = Colors.Red;
        return button;
    }

}
通过从扩展方法返回按钮,可以将其链接到创建中:

private static Button _saveButton = new Button {
  Text = "Save",
  HorizontalOptions = LayoutOptions.Center,
  WidthRequest = 500,
  IsVisible = false
}.ApplyStandard();

您无法访问初始值设定项中的button实例,但可以创建一个扩展方法,在它之后立即调用:

public static class Extensions {

    public static Button ApplyStandard(this Button button) {
        button.TextColor = Colors.Red;
        return button;
    }

}
通过从扩展方法返回按钮,可以将其链接到创建中:

private static Button _saveButton = new Button {
  Text = "Save",
  HorizontalOptions = LayoutOptions.Center,
  WidthRequest = 500,
  IsVisible = false
}.ApplyStandard();

你所拥有的就快到了,我想你是从错误的方向来处理这个问题的。如前所述,使用对象初始化语法无法实现您的建议。解决问题的最简单方法(不只是创建自己的按钮类型)是使用一个创建按钮并设置所有公共属性的方法。然后,您可以根据每个实例设置任何其他选项:

private static Button CreateCustomButton()
{
    Button button = new Button();
    button.ForeColor = Color.Black;
    // set other properties, initial setup etc...

    return button;
}

你所拥有的就快到了,我想你是从错误的方向来处理这个问题的。如前所述,使用对象初始化语法无法实现您的建议。解决问题的最简单方法(不只是创建自己的按钮类型)是使用一个创建按钮并设置所有公共属性的方法。然后,您可以根据每个实例设置任何其他选项:

private static Button CreateCustomButton()
{
    Button button = new Button();
    button.ForeColor = Color.Black;
    // set other properties, initial setup etc...

    return button;
}

你所拥有的就快到了,我想你是从错误的方向来处理这个问题的。如前所述,使用对象初始化语法无法实现您的建议。解决问题的最简单方法(不只是创建自己的按钮类型)是使用一个创建按钮并设置所有公共属性的方法。然后,您可以根据每个实例设置任何其他选项:

private static Button CreateCustomButton()
{
    Button button = new Button();
    button.ForeColor = Color.Black;
    // set other properties, initial setup etc...

    return button;
}

你所拥有的就快到了,我想你是从错误的方向来处理这个问题的。如前所述,使用对象初始化语法无法实现您的建议。解决问题的最简单方法(不只是创建自己的按钮类型)是使用一个创建按钮并设置所有公共属性的方法。然后,您可以根据每个实例设置任何其他选项:

private static Button CreateCustomButton()
{
    Button button = new Button();
    button.ForeColor = Color.Black;
    // set other properties, initial setup etc...

    return button;
}


在Button类中创建一个静态方法来执行您需要的操作?创建一个子类型;或者创建一个返回新按钮的方法。在对象初始化器中不能这样做。@Logard,但我想在初始化括号中使用该方法。为什么?创建一个CreateButton方法来初始化并修改按钮,似乎可以解决您的问题;或者创建一个返回新按钮的方法。在对象初始化器中不能这样做。@Logard,但我想在初始化括号中使用该方法。为什么?创建一个CreateButton方法来初始化并修改按钮,似乎可以解决您的问题;或者创建一个返回新按钮的方法。在对象初始化器中不能这样做。@Logard,但我想在初始化括号中使用该方法。为什么?创建一个CreateButton方法来初始化并修改按钮,似乎可以解决您的问题;或者创建一个返回新按钮的方法。在对象初始化器中不能这样做。@Logard,但我想在初始化括号中使用该方法。为什么?创建一个CreateButton方法来初始化并修改你的按钮似乎可以解决你的问题。@AdrianoRepetti我猜1-这已经在评论中说过了,2-它没有给出替代解决方案?@AdrianoRepetti我猜1-这已经在评论中说过了,2-它没有给出替代方案解决方案?@AdrianoRepetti我猜1-这在评论中已经说过,2-它没有给出替代解决方案?@AdrianoRepetti我猜1-这在评论中已经说过,2-它没有给出替代解决方案?