如何设置类属性的隐式赋值?

时间:2013-03-21 21:45:18

标签: c# c#-4.0 operators operator-overloading implicit-conversion

我有一个自定义类,并且想要隐式地为其中一个属性赋值。我知道微软曾经将这种内置内置到某些控件中,例如TextBox1 = "Sets the TextBox1.Text property"。这是否锁定到Microsoft,因为它是内置于编译器或可用的?

这看起来类似于隐式转换,但我需要修改结果的实例。

我的实际代码示例:

public class CustomObject<TObject>
{
    public TObject BaseObject { get; set; }

    //Psuedocode for what I want, this doesn't compile for multiple reason
    public implicit operator CustomObject<TObject>(TObject FillIn)
    {
         this.BaseObject = FillIn;
    }
}

//Usage
var x = new CustomObject<int>();
x = 3; //this is the end result I want to code.

1 个答案:

答案 0 :(得分:4)

C#中的implicit重载运算符不能设置对象的属性,它只能本身转换为对象。

VB6中的默认属性在C#或VB.NET中不可用。