我已经使用 ILSpy 反编译工具,查看了 Microsoft.ActiveDirectory.Management.dll 中 class ADUser 的源码,如下:
实际应用中 我不会这样做,这样尝试 主要是练习:
C#调用 C#的非托管库及构造函数,并打印对象的属性名称和方法
但是我尝试着 C# 平台调用( P / Invoke ) 非托管库的方法,但构造函数的调用语法好像有不同
我还是没实现练习效果,不知是否可以给出该实例的示例代码,以供参考,谢谢了
其中 Microsoft.ActiveDirectory.Management.dll 已分享至网盘
链接:
https://pan.baidu.com/s/1sLFBKPla6AvQ9OZc7uFQ2Q 提取码: d3eu
using Microsoft.ActiveDirectory.Management.Commands;
using System;
using System.Security.Principal;
namespace Microsoft.ActiveDirectory.Management
{
public class ADUser : ADAccount
{
public string GivenName
{
get
{
return (string)base.GetValue("GivenName");
}
set
{
base.SetValue("GivenName", value);
}
}
public string Surname
{
get
{
return (string)base.GetValue("Surname");
}
set
{
base.SetValue("Surname", value);
}
}
static ADUser()
{
ADEntity.RegisterMappingTable(typeof(ADUser), ADUserFactory<ADUser>.AttributeTable);
}
public ADUser()
{
}
public ADUser(string identity) : base(identity)
{
}
public ADUser(Guid guid) : base(guid)
{
}
public ADUser(SecurityIdentifier sid) : base(sid)
{
}
public ADUser(ADObject identity) : base(identity)
{
}
}
}