在.NET的早期阶段,我相信有一个属性可以装饰一个类来指定一个默认属性.
根据我发现的一些文章,这似乎在某个时候已经从框架中被淘汰,因为它有点令人困惑,我可以看到这是怎么回事.
还有,还有另一种方法来获得它提供的功能吗?
它看起来像这样:
<DefaultProperty("Value")> _
Public Class GenericStat
...
Public Property Value() As Integer
...
End Property
...
End Class
Run Code Online (Sandbox Code Playgroud)
这允许你做Response.Write(MyObject)而不是Response.Write(MyObject.Value)......这不是一个非常笨重的例子,但在一些复杂的面向对象的上下文中,它有点可怕.如果有更好的方法,请告诉我.
注意:我不是在寻找Default关键字,它只能用于带参数的属性.
我有现有的COM接口.我不想创建一个将新接口公开为COM(带有新GUID)的.net程序集,但接口的结构必须相同.
如何创建一个公开此接口的.net类(C#)?
[
odl,
uuid(1ED4C594-DDD7-402F-90DE-7F85D65560C4),
hidden,
oleautomation
]
interface _IFlashPhase : IUnknown {
[propget]
HRESULT _stdcall ComponentName(
[in] short i,
[out, retval] BSTR* pVal);
[propput]
HRESULT _stdcall ComponentName(
[in] short i,
[in] BSTR pVal);
[propget]
HRESULT _stdcall ComponentMolePercent(
[in] short i,
[out, retval] double* pVal);
[propput]
HRESULT _stdcall ComponentMolePercent(
[in] short i,
[in] double pVal);
[propget]
HRESULT _stdcall ComponentFugacity(
[in] short i,
[out, retval] double* pVal);
[propput]
HRESULT _stdcall ComponentFugacity(
[in] short i,
[in] double pVal);
};
Run Code Online (Sandbox Code Playgroud)