2009-11-26 64 views

回答

1

下面是这种

public class ARAControl 
{ 
    public ARAPadding Padding { get; set; } 
} 
public struct ARAPadding 

{ 
    public int All { get; set; } 
} 

一个简单的实现,并且如果你使用这个,你可能得到这个错误

 ARAControl control = new ARAControl(); 
     control.Padding.All = 10; 

它hapens因为结构是一种价值类型。通过设置这个属性,你首先调用get方法。 Get属性将返回填充的副本,所以它是一个价值型和C#将检测出的错误,并防止编译

+0

我刚刚在我的博客中提交了有关此问题的帖子:http://ahmadreza.com/blog/post/Value-type-property-and-C-compilation-error.aspx – Ahmadreza 2009-12-10 21:34:58

4

Control.Margin =新的填充(5)

+0

是的,我知道如何得到它work..I只是不明白为什么有Padding.all或左或无论...但不能设置为int。 – Petr 2009-11-26 08:19:11

+0

也不是!对于为什么可能不分配这个int的答案,我也会很生气。 – ChrisJJ 2011-09-21 17:53:56

相关问题