
Signature
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.
Hello,
From your post, my understanding on this issue is that you are to export
helpstrings to the typelib generated from an interop assembly in C#. If I'm
off base, please feel free to let me know.
To export helpstrings to tlb, you may consider setting the attribute:
[System.ComponentModel.Description("just for test helpstrings")]
for the methods exposed.
Here is my test code:
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: Guid("efe72271-546a-4095-ba7a-b1a64264e1cb")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace NETAssembly
{
[InterfaceType(ComInterfaceType.InterfaceIsDual), ComVisible(true)]
public interface ITest
{
[System.ComponentModel.Description("just for test helpstrings")]
string HelloWorld();
}
[ClassInterface(ClassInterfaceType.None), ComVisible(true)]
public class TestClass : ITest
{
public string HelloWorld()
{
return "Hello World!";
}
}
}
1. Save the above code into a cs file (*****.cs)
2. Run ¡°csc /t:library *****.cs /keyfile:key.snk in .net 2.0 SDK cmd line.
3. Run tlbexp *****.dll /out:outfile.tlb to get the tlb file.
Please let me know if you have any other concerns, or need anything else.
Have a nice day! :)
Sincerely,
Jialiang Ge (jialge@online.microsoft.com, remove 'online.')
Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.
With newsgroups, MSDN subscribers enjoy unlimited, free support as opposed
to the limited number of phone-based technical support incidents. Complex
issues or server-down situations are not recommended for the newsgroups.
Issues of this nature are best handled working with a Microsoft Support
Engineer using one of your phone-based incidents.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
little wizzard - 31 Jul 2007 09:54 GMT
Hello Jialiang Ge,
thanks for your advice.
U have understand my post right.
That sample works.
But my interface definition includes properties, and I want to have for the
propget and propput method in the typelib different helpstrings.
I add my code to your test code to explain my intention:
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: Guid("efe72271-546a-4095-ba7a-b1a64264e1cb")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace NETAssembly
{
[InterfaceType(ComInterfaceType.InterfaceIsDual), ComVisible(true)]
public interface ITest
{
[System.ComponentModel.Description("just for test helpstrings")]
string HelloWorld();
string MyTestProp
{
[System.ComponentModel.Description("MyTestProp get")] // in
typelib will this eported for both, get and set
get;
[System.ComponentModel.Description("MyTestProp set")] //
this won’t be exported to the typelib
set;
}
}
[ClassInterface(ClassInterfaceType.None), ComVisible(true)]
public class TestClass : ITest
{
public string HelloWorld()
{
return "Hello World!";
}
public string MyTestProp
{
get
{
return m_MyTestProp;
}
set
{
m_MyTestProp = value;
}
}
private
string m_MyTestProp = "";
}
}
My question is how can I export the helpstring for the set (propset) method?
Thanks for your time and help.
Best regards
Detlev
> Hello,
>
[quoted text clipped - 58 lines]
> ==================================================
> This posting is provided "AS IS" with no warranties, and confers no rights.
Jialiang Ge [MSFT] - 31 Jul 2007 13:42 GMT
Hello
I don't think Property's helpstring can be divided: one for propget,
another for propput.
If you see the VB Properties through object brower, you will find them have
only one helpstring.
For instance: the helpstring of Form's property 'Appearance' is:
Property Appearance As Integer
Member of Unknown1._Form
Returns/sets whether or not an object is painted at run time with 3-D
effects.
Therefore, I suggest that you write 'Returns/sets ...' as description of
property if it has both set and get methods.
Mathias, any idea?
Sincerely,
Jialiang Ge (jialge@online.microsoft.com, remove 'online.')
Microsoft Online Community Support
=================================================
When responding to posts, please "Reply to Group" via your newsreader
so that others may learn and benefit from your issue.
=================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
little wizzard - 31 Jul 2007 15:32 GMT
Hello,
many thanks for your fast and qualified advise.
I will use this in that way.
Best regards
Detlev
> Hello
>
[quoted text clipped - 22 lines]
> =================================================
> This posting is provided "AS IS" with no warranties, and confers no rights.
Hello Mathias,
thanks for your advice.
I've concretize my problem in my reply to "Jialiang Ge".
Best regards
Detlev
> >Which ways have I to do this?
>
> Use the DescriptionAttribute and AssemblyDescriptionAttribute classes.
>
> Mattias