0
我想創建一個包含方法的COM對象。該方法返回一個數組,因爲它正在被經典ASP使用,所以必須進行編組。當使用MarshalAs時,接口方法的語法是什麼
我已經發現堆棧溢出的問題,告訴我如何做屬性而不是方法。
這是我曾嘗試:
public interface IMine
{
[DispId(1)]
object stringSize(string txt, string fontName, float fontSize)
{
[return: MarshalAs(UnmanagedType.Struct, SafeArraySubType = VarEnum.VT_ARRAY)]
}
}
這顯然是錯誤的,因爲我得到了錯誤:
The name 'MarshalAs' does not exist in the current context
這對我毫無意義。
的實際方法是:
public object stringSize(string txt, string fontName, float fontSize)
{
System.Drawing.SizeF result = _textSize(txt, fontName, fontSize);
return new object[] { result.Width, result.Height };
}
有人請糾正我的語法。
我知道這將是我會做了一些愚蠢 - 歡呼聲將嘗試它的明天 – Graham 2012-08-01 20:44:03