我在Project1类库中有一个类
class MyClass
{
[CustomAttribute]
public string prop1 {get;set;}
public string prop2 {get;set;}
}
我有:CustomAttribute
取决于我不希望在MyClass
中包含的第三方库。
我是否有办法将CustomAttribute
MyClass
prop1
与project1
一起包裹在project2
以外的新包装Project1
中Protected Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
Try
Dim posFile As HttpPostedFile = Nothing
posFile = MyFile.PostedFile
Dim strFileName As String = ""
strFileName = posFile.FileName
Dim ext As String = ""
Dim fileName As String = ""
ext = System.IO.Path.GetExtension(strFileName)
fileName = "Vid_" + Now().ToString("yyyyMMddHHmmsss") & ext
If MyFile.PostedFile.FileName = "" Then
lblMsg.Text = "Please select a file to upload."
lblMsg.Visible = True
lblMsg.CssClass = "error"
Else
Dim fileBytes As Byte() = Nothing
Using fileStream As New StreamReader(posFile.InputStream)
fileBytes = Encoding.UTF8.GetBytes(fileStream.ReadToEnd())
fileStream.Close()
End Using
Try
Dim ftp As String = System.Configuration.ConfigurationManager.AppSettings("FtpMediaServerURL") //ftp://www.server.com
Dim ftpFolder As String = "/media/"
Dim request As FtpWebRequest = DirectCast(WebRequest.Create(ftp & ftpFolder & fileName), FtpWebRequest)
request.Method = WebRequestMethods.Ftp.UploadFile
request.Credentials = New NetworkCredential(System.Configuration.ConfigurationManager.AppSettings("FtpMediaServerUserName"), System.Configuration.ConfigurationManager.AppSettings("FtpMediaServerPassword"))
request.ContentLength = fileBytes.Length
request.UsePassive = True
request.KeepAlive = False
request.UseBinary = True
request.ServicePoint.ConnectionLimit = fileBytes.Length
request.EnableSsl = False
Using requestStream As Stream = request.GetRequestStream()
requestStream.Write(fileBytes, 0, fileBytes.Length)
requestStream.Close()
End Using
Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
response.Close()
lblMsg.Text = "Your file has been uploaded successfully."
lblMsg.Visible = True
lblMsg.CssClass = "confirmation"
Catch ex As Exception
lblMsg.Text = "An Error occured while uploading your file. Please try again."
lblMsg.Visible = True
lblMsg.CssClass = "error"
End Try
End If
Catch ex As Exception
//Handle Exception
End Try
End Sub
?
答案 0 :(得分:3)
如果你打算让一个project2暴露另一个类,你总是可以将该属性设置为virtual并在project2类中重写它(一个继承自project1类的类。
项目1
namespace Project1
{
public class MyClass
{
public virtual string prop1 { get; set; }
public string prop2 { get; set; }
}
}
项目2
namespace Project2
{
public class MyClass2 : Project1.MyClass
{
[CustomAttribute]
public override string prop1 { get; set; }
public string prop2 { get; set; }
}
}