相关疑难解决方法(0)

VB.NET中的默认属性?

在.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关键字,它只能用于带参数的属性.

.net vb.net oop

29
推荐指数
4
解决办法
3万
查看次数

将类似索引器的属性暴露给COM

我有现有的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)

c# idl com-interop

2
推荐指数
1
解决办法
1006
查看次数

标签 统计

.net ×1

c# ×1

com-interop ×1

idl ×1

oop ×1

vb.net ×1